Implementation notes: amd64, genji291, crypto_sign/rainbow1a

Computer: genji291
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_sign
Primitive: rainbow1a
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
645750? ? ?? ? ?avx2icc_-xAVX_-O3_-fomit-frame-pointer2018082020180818
646940? ? ?? ? ?avx2icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082020180818
657412? ? ?? ? ?avx2icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2018082020180818
661570? ? ?? ? ?avx2icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2018082020180818
661864? ? ?? ? ?avx2icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2018082020180818
663516? ? ?? ? ?avx2icc_-xMIC-AVX512_-O2_-fomit-frame-pointer2018082020180818
663908? ? ?? ? ?avx2icc_-xMIC-AVX512_-O3_-fomit-frame-pointer2018082020180818
678062? ? ?? ? ?avx2icc_-xSSE4.1_-O3_-fomit-frame-pointer2018082020180818
679224? ? ?? ? ?avx2icc_-xSSE4.1_-O2_-fomit-frame-pointer2018082020180818
680190? ? ?? ? ?avx2icc_-xAVX_-O2_-fomit-frame-pointer2018082020180818
680848? ? ?? ? ?avx2icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2018082020180818
685286? ? ?? ? ?avx2icc_-xSSE4.2_-O3_-fomit-frame-pointer2018082020180818
687708? ? ?? ? ?avx2icc_-xSSE4.2_-O2_-fomit-frame-pointer2018082020180818
693826? ? ?? ? ?avx2icc_-no-vec2018082020180818
697452? ? ?? ? ?avx2icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082020180818
704074? ? ?? ? ?avx2icc2018082020180818
1772778? ? ?? ? ?portableicc_-xSSE4.2_-O3_-fomit-frame-pointer2018082020180818
1780506? ? ?? ? ?portableicc_-xMIC-AVX512_-O3_-fomit-frame-pointer2018082020180818
1783894? ? ?? ? ?portableicc_-xAVX_-O3_-fomit-frame-pointer2018082020180818
1786372? ? ?? ? ?portableicc_-xSSE4.2_-O2_-fomit-frame-pointer2018082020180818
1786470? ? ?? ? ?portableicc_-xMIC-AVX512_-O2_-fomit-frame-pointer2018082020180818
1789172? ? ?? ? ?portableicc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2018082020180818
1792854? ? ?? ? ?portableicc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2018082020180818
1796466? ? ?? ? ?portableicc_-xAVX_-O2_-fomit-frame-pointer2018082020180818
1797978? ? ?? ? ?portableicc2018082020180818
1800260? ? ?? ? ?portableicc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082020180818
1826160? ? ?? ? ?portableicc_-xSSE4.1_-O3_-fomit-frame-pointer2018082020180818
1852648? ? ?? ? ?portableicc_-xSSE4.1_-O2_-fomit-frame-pointer2018082020180818
1870022? ? ?? ? ?portableicc_-xCORE-AVX2_-O3_-fomit-frame-pointer2018082020180818
1880900? ? ?? ? ?portableicc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082020180818
1964942? ? ?? ? ?portableicc_-no-vec2018082020180818
1975078? ? ?? ? ?portableicc_-xCORE-AVX2_-O2_-fomit-frame-pointer2018082020180818
8268498? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018082020180818
8288784? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018082020180818
8297100? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018082020180818
8303414? ? ?? ? ?reficc2018082020180818
8322860? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018082020180818
8425088? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018082020180818
8437702? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082020180818
8499092? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018082020180818
8501122? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082020180818
9604350? ? ?? ? ?reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2018082020180818
9625854? ? ?? ? ?reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2018082020180818
13407520? ? ?? ? ?reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2018082020180818
13409816? ? ?? ? ?reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2018082020180818
13473628? ? ?? ? ?reficc_-xMIC-AVX512_-O3_-fomit-frame-pointer2018082020180818
13713420? ? ?? ? ?reficc_-xMIC-AVX512_-O2_-fomit-frame-pointer2018082020180818
20203274? ? ?? ? ?reficc_-no-vec2018082020180818

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
blas.c: In file included from gf16_sse.h:19:0,
blas.c: from gf16_avx2.h:8,
blas.c: from blas_avx2.h:11,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
blas.c: # error "SSSE3 instruction set not enabled"
blas.c: ^
blas.c: In file included from gf16_avx2.h:8:0,
blas.c: from blas_avx2.h:11,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_sse.h: In function 'tbl_gf16_squ':
blas.c: gf16_sse.h:65:2: error: incompatible types when returning type 'int' but '__m128i' was expected
blas.c: return _mm_shuffle_epi8(tab_l,a);
blas.c: ^
blas.c: gf16_sse.h: In function 'tbl_gf16_squ_sl4':
blas.c: gf16_sse.h:71:2: error: incompatible types when returning type 'int' but '__m128i' was expected
blas.c: return _mm_shuffle_epi8(tab_l,a);
blas.c: ^
blas.c: gf16_sse.h: In function 'tbl_gf16_squ_x8':
blas.c: gf16_sse.h:77:2: error: incompatible types when returning type 'int' but '__m128i' was expected
blas.c: return _mm_shuffle_epi8(tab_l,a);
blas.c: ^
blas.c: gf16_sse.h: In function 'tbl_gf16_inv':
blas.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc
blas.c: In file included from blas_avx2.h:11,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
blas.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: {
blas.c: ^
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
mpkc.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mpkc.c: {
mpkc.c: ^
mpkc.c: gf16_avx2.h: In function 'tbl32_gf16_log':
mpkc.c: gf16_avx2.h:70:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mpkc.c: static inline __m256i tbl32_gf16_log( __m256i a )
mpkc.c: ^~~~~~~~~~~~~~
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
mpkc.c: from blas_avx2.h:6,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
mpkc.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
mpkc.c: ^~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h:73:9: note: called from here
mpkc.c: return _mm256_shuffle_epi8(tab_l,a);
mpkc.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
mpkc.c: ...

Number of similar (compiler,implementation) pairs: 86, namely:
CompilerImplementations
gcc avx2
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 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
blas.c: In file included from blas_avx2.h:11,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
blas.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: {
blas.c: ^
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
mpkc.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mpkc.c: {
mpkc.c: ^
mpkc.c: gf16_avx2.h: In function 'tbl32_gf16_log':
mpkc.c: gf16_avx2.h:70:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mpkc.c: static inline __m256i tbl32_gf16_log( __m256i a )
mpkc.c: ^~~~~~~~~~~~~~
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
mpkc.c: from blas_avx2.h:6,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
mpkc.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
mpkc.c: ^~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h:73:9: note: called from here
mpkc.c: return _mm256_shuffle_epi8(tab_l,a);
mpkc.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
mpkc.c: ...
blas.c: In file included from blas_avx2.h:11,
blas.c: from blas.h:21,
blas.c: from blas.c:1:
blas.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
blas.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: {
blas.c: ^
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h: In function 'tbl32_gf4_x2':
mpkc.c: gf16_avx2.h:25:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mpkc.c: {
mpkc.c: ^
mpkc.c: gf16_avx2.h: In function 'tbl32_gf16_log':
mpkc.c: gf16_avx2.h:70:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mpkc.c: static inline __m256i tbl32_gf16_log( __m256i a )
mpkc.c: ^~~~~~~~~~~~~~
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
mpkc.c: from blas_avx2.h:6,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
mpkc.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
mpkc.c: ^~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h:73:9: note: called from here
mpkc.c: return _mm256_shuffle_epi8(tab_l,a);
mpkc.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
mpkc.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
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
mpkc.c: from blas_avx2.h:6,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h: In function 'tbl32_gf16_log':
mpkc.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
mpkc.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
mpkc.c: ^~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h:73:9: note: called from here
mpkc.c: return _mm256_shuffle_epi8(tab_l,a);
mpkc.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
mpkc.c: from blas_avx2.h:6,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
mpkc.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
mpkc.c: ^~~~~~~~~~~~~~~~~~~
mpkc.c: In file included from blas_avx2.h:11,
mpkc.c: from blas.h:21,
mpkc.c: from mpkc.c:4:
mpkc.c: gf16_avx2.h:73:9: note: called from here
mpkc.c: ...

Number of similar (compiler,implementation) pairs: 8, 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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/knownrandombytes.o: In function `randombytes':
try.c: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memcpy'
try.c: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-api.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2':
try.c: api.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-chacha.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2_ECRYPT_keystream_bytes':
try.c: chacha.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 224, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -O3 -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=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
gcc portable
gcc -O2 -fomit-frame-pointer portable
gcc -O3 -fomit-frame-pointer portable
gcc -O -fomit-frame-pointer portable
gcc -Os -fomit-frame-pointer portable
gcc -fno-schedule-insns -O2 -fomit-frame-pointer portable
gcc -fno-schedule-insns -O3 -fomit-frame-pointer portable
gcc -fno-schedule-insns -O -fomit-frame-pointer portable
gcc -fno-schedule-insns -Os -fomit-frame-pointer portable
gcc -funroll-loops portable
gcc -funroll-loops -O2 -fomit-frame-pointer portable
gcc -funroll-loops -O3 -fomit-frame-pointer portable
gcc -funroll-loops -O -fomit-frame-pointer portable
gcc -funroll-loops -Os -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer portable
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer portable
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer portable
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer portable
gcc -m64 -O2 -fomit-frame-pointer portable
gcc -m64 -O3 -fomit-frame-pointer portable
gcc -m64 -O -fomit-frame-pointer portable
gcc -m64 -Os -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer portable
gcc -m64 -march=core2 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core2 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -O -fomit-frame-pointer portable
gcc -m64 -march=core2 -Os -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer portable
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer portable
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer portable
gcc -m64 -march=corei7 -O -fomit-frame-pointer portable
gcc -m64 -march=corei7 -Os -fomit-frame-pointer portable
gcc -m64 -march=k8 -O2 -fomit-frame-pointer portable
gcc -m64 -march=k8 -O3 -fomit-frame-pointer portable
gcc -m64 -march=k8 -O -fomit-frame-pointer portable
gcc -m64 -march=k8 -Os -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer portable
gcc -m64 -march=nocona -O2 -fomit-frame-pointer portable
gcc -m64 -march=nocona -O3 -fomit-frame-pointer portable
gcc -m64 -march=nocona -O -fomit-frame-pointer portable
gcc -m64 -march=nocona -Os -fomit-frame-pointer portable
gcc -march=barcelona -O2 -fomit-frame-pointer portable
gcc -march=barcelona -O3 -fomit-frame-pointer portable
gcc -march=barcelona -O -fomit-frame-pointer portable
gcc -march=barcelona -Os -fomit-frame-pointer portable
gcc -march=k8 -O2 -fomit-frame-pointer portable
gcc -march=k8 -O3 -fomit-frame-pointer portable
gcc -march=k8 -O -fomit-frame-pointer portable
gcc -march=k8 -Os -fomit-frame-pointer portable
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv portable
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv portable
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv portable
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv portable
gcc -march=nocona -O2 -fomit-frame-pointer portable
gcc -march=nocona -O3 -fomit-frame-pointer portable
gcc -march=nocona -O -fomit-frame-pointer portable
gcc -march=nocona -Os -fomit-frame-pointer portable
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=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -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: portable
Security model: unknown
Compiler: cc
hash_utils.c: hash_utils.c: In function 'expand_sha2':
hash_utils.c: hash_utils.c:85:3: error: 'for' loop initial declarations are only allowed in C99 mode
hash_utils.c: for(unsigned i=0;i<n_digest;i++) digest[i] = hash[i];
hash_utils.c: ^
hash_utils.c: hash_utils.c:85:3: note: use option -std=c99 or -std=gnu99 to compile your code
hash_utils.c: hash_utils.c:88:3: error: 'for' loop initial declarations are only allowed in C99 mode
hash_utils.c: for(unsigned i=0;i<_HASH_LEN;i++) digest[i] = hash[i];
hash_utils.c: ^
hash_utils.c: hash_utils.c:101:3: error: 'for' loop initial declarations are only allowed in C99 mode
hash_utils.c: for(unsigned i=0;i<n_digest;i++) digest[_HASH_LEN+i] = temp[i];
hash_utils.c: ^
hash_utils.c: hash_utils.c: In function 'sha2_chain_byte':
hash_utils.c: hash_utils.c:136:2: error: 'for' loop initial declarations are only allowed in C99 mode
hash_utils.c: for(unsigned i=0;i<output_size;i++) {
hash_utils.c: ^

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
cc portable ref

Compiler output

Implementation: portable
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/knownrandombytes.o: In function `randombytes':
try.c: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memcpy'
try.c: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-api.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2':
try.c: api.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-chacha.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2_ECRYPT_keystream_bytes':
try.c: chacha.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.c: collect2: error: ld returned 1 exit status
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/knownrandombytes.o: In function `randombytes':
try.c: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memcpy'
try.c: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-api.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2':
try.c: api.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-chacha.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2_ECRYPT_keystream_bytes':
try.c: chacha.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer portable
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer portable
gcc -m64 -march=barcelona -O -fomit-frame-pointer portable
gcc -m64 -march=barcelona -Os -fomit-frame-pointer portable
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