Implementation notes: amd64, gpu, crypto_sign/sphincsf192sha256simple

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_sign
Primitive: sphincsf192sha256simple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
51254626223137 0 044631 776 1992refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019091820190816
58656913422498 0 043143 776 1992refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091820190816
58774182822498 0 043143 776 1992refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091820190816
62436114423137 0 044631 776 1992refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091820190816
628181188? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019091820190816
630534100? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019091820190816
636867681? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019091820190816
638668577? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019091820190816
639581740? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091820190816
641035920? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019091820190816
643223836? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019091820190816
647737900? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019091820190816
649346396? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091820190816
650313090? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019091820190816
651946036? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019091820190816
651958038? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091820190816
654204587? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019091820190816
654504954? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019091820190816
655143024? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091820190816
655258311? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019091820190816
657403508? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019091820190816
658194240? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019091820190816
659488048? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091820190816
660066664? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019091820190816
661825924? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019091820190816
662367093? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019091820190816
662908257? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019091820190816
663699640? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019091820190816
66490708322673 0 046399 776 1640refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091820190816
665585077? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019091820190816
667343085? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091820190816
668162988? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019091820190816
668651012? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019091820190816
668702721? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019091820190816
66911524022673 0 046399 776 1640refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091820190816
672926190? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019091820190816
674320340? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019091820190816
675549496? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091820190816
675677460? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019091820190816
678093828? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019091820190816
67948308322673 0 045055 776 1640refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091820190816
679585029? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091820190816
680501920? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019091820190816
681046275? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019091820190816
683479806? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019091820190816
685880596? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019091820190816
690082388? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019091820190816
691729184? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019091820190816
692751832? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019091820190816
693184668? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019091820190816
694617364? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019091820190816
69746050622673 0 046399 776 1640refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091820190816
698596137? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019091820190816
702999636? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019091820190816
703442673? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019091820190816
705433001? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019091820190816
705887080? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019091820190816
706477848? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091820190816
709105652? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019091820190816
710601776? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019091820190816
710696400? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019091820190816
713698490? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019091820190816
718825448? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019091820190816
725686000? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091820190816
732845804? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019091820190816
736203060? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019091820190816
736839200? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019091820190816
738288826? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019091820190816
738307412? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019091820190816
741101733? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019091820190816
743623602? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019091820190816
745244752? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019091820190816
746508052? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019091820190816
747370248? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019091820190816
747439980? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019091820190816
747461690? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019091820190816
748168148? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019091820190816
748912456? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019091820190816
751983904? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091820190816
753021588? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019091820190816
753149564? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019091820190816
754424308? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019091820190816
755698004? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019091820190816
758261416? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019091820190816
758651396? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019091820190816
759350680? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091820190816
759561452? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091820190816
759832696? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019091820190816
760490268? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019091820190816
761980816? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019091820190816
762507772? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019091820190816
764936832? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019091820190816
765279787? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019091820190816
765749772? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019091820190816
767631464? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019091820190816
769682084? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019091820190816
769911683? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091820190816
770154800? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019091820190816
771184376? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091820190816
774942268? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019091820190816
775037160? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019091820190816
775156276? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019091820190816
775306175? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019091820190816
776950060? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019091820190816
781729752? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019091820190816
782685312? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019091820190816
784558152? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091820190816
789755236? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091820190816
795266228? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091820190816
795365894? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019091820190816
796154789? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091820190816
802665224? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019091820190816
1345037899? ? ?? ? ?refcc2019091820190816
1461339008? ? ?? ? ?refgcc2019091820190816
1482524696? ? ?? ? ?refgcc_-funroll-loops2019091820190816

Test failure

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:11:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
sha256avx.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:26:15: note: called from here
sha256avx.c: tmp1[7] = _mm256_unpackhi_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:906:1: error: inlining failed in call to always_inline '_mm256_unpacklo_epi64': target specific option mismatch
sha256avx.c: _mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:25:15: note: called from here
sha256avx.c: tmp1[6] = _mm256_unpacklo_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc avx2
gcc avx2
gcc -funroll-loops avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
sha256avx.c: sha256avx.c:11:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:12:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[1] = _mm256_unpackhi_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:13:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[2] = _mm256_unpacklo_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:14:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[3] = _mm256_unpackhi_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:15:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[4] = _mm256_unpacklo_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:16:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[5] = _mm256_unpackhi_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:17:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[6] = _mm256_unpacklo_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:18:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[7] = _mm256_unpackhi_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:19:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:11:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx2
gcc -m64 -O2 -fomit-frame-pointer avx2
gcc -m64 -O3 -fomit-frame-pointer avx2
gcc -m64 -O -fomit-frame-pointer avx2
gcc -m64 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -march=barcelona -O -fomit-frame-pointer avx2
gcc -march=barcelona -Os -fomit-frame-pointer avx2
gcc -march=k8 -O2 -fomit-frame-pointer avx2
gcc -march=k8 -O3 -fomit-frame-pointer avx2
gcc -march=k8 -O -fomit-frame-pointer avx2
gcc -march=k8 -Os -fomit-frame-pointer avx2
gcc -march=nocona -O2 -fomit-frame-pointer avx2
gcc -march=nocona -O3 -fomit-frame-pointer avx2
gcc -march=nocona -O -fomit-frame-pointer avx2
gcc -march=nocona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:11:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: ...
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:11:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 103, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref