Implementation notes: amd64, genji548, crypto_scalarmult/kummer

Computer: genji548
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_scalarmult
Primitive: kummer
TimeImplementationCompilerBenchmark dateSUPERCOP version
226346avx2inticc -xCORE-AVX512 -O2 -fomit-frame-pointer2018081920180818
226358avx2inticc -xCORE-AVX512 -O3 -fomit-frame-pointer2018081920180818
229122avx2inticc -xAVX -O2 -fomit-frame-pointer2018081920180818
229148avx2inticc2018081920180818
229162avx2inticc -xSSE4.1 -O2 -fomit-frame-pointer2018081920180818
229164avx2inticc -xCORE-AVX-I -O2 -fomit-frame-pointer2018081920180818
229208avx2inticc -xSSE4.2 -O2 -fomit-frame-pointer2018081920180818
229588avx2inticc -xCORE-AVX2 -O3 -fomit-frame-pointer2018081920180818
229822avx2inticc -xAVX -O3 -fomit-frame-pointer2018081920180818
229856avx2inticc -xCORE-AVX-I -O3 -fomit-frame-pointer2018081920180818
229980avx2inticc -xSSE4.2 -O3 -fomit-frame-pointer2018081920180818
230036avx2inticc -xSSE4.1 -O3 -fomit-frame-pointer2018081920180818
230106avx2inticc -no-vec2018081920180818
231788avx2inticc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2018081920180818
243544avx2inticc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2018081920180818
268020avx2icc -xSSE4.1 -O3 -fomit-frame-pointer2018081920180818
268440avx2icc -xCORE-AVX2 -O3 -fomit-frame-pointer2018081920180818
268548avx2icc -xCORE-AVX512 -O2 -fomit-frame-pointer2018081920180818
268598avx2icc -xSSE4.1 -O2 -fomit-frame-pointer2018081920180818
268604avx2icc -xCORE-AVX512 -O3 -fomit-frame-pointer2018081920180818
268656avx2icc -xSSE4.2 -O2 -fomit-frame-pointer2018081920180818
268676avx2icc -xCORE-AVX-I -O3 -fomit-frame-pointer2018081920180818
268692avx2icc -xAVX -O3 -fomit-frame-pointer2018081920180818
268722avx2icc -xAVX -O2 -fomit-frame-pointer2018081920180818
268728avx2icc2018081920180818
268730avx2icc -xSSE4.2 -O3 -fomit-frame-pointer2018081920180818
268752avx2icc -xCORE-AVX2 -O2 -fomit-frame-pointer2018081920180818
268758avx2icc -xCORE-AVX-I -O2 -fomit-frame-pointer2018081920180818
270490avx2inticc -xCORE-AVX2 -O2 -fomit-frame-pointer2018081920180818
287708avx2icc -no-vec2018081920180818
293106avx2icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2018081920180818
293324avx2icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2018081920180818
356038avxicc -xCORE-AVX512 -O2 -fomit-frame-pointer2018081920180818
356082avxicc -xAVX -O3 -fomit-frame-pointer2018081920180818
356088avxicc -xCORE-AVX512 -O3 -fomit-frame-pointer2018081920180818
356144avxicc -xCORE-AVX2 -O2 -fomit-frame-pointer2018081920180818
356164avxicc -xSSE4.2 -O2 -fomit-frame-pointer2018081920180818
356184avxicc -xCORE-AVX-I -O2 -fomit-frame-pointer2018081920180818
356184avxicc -xCORE-AVX-I -O3 -fomit-frame-pointer2018081920180818
356232avxicc -xSSE4.2 -O3 -fomit-frame-pointer2018081920180818
356240avxicc -xAVX -O2 -fomit-frame-pointer2018081920180818
356336avxicc -no-vec2018081920180818
356396avxicc -xSSE4.1 -O2 -fomit-frame-pointer2018081920180818
356418avxicc -xSSE4.1 -O3 -fomit-frame-pointer2018081920180818
356464avxicc2018081920180818
356500avxicc -xCORE-AVX2 -O3 -fomit-frame-pointer2018081920180818
371596avxicc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2018081920180818
388686avxicc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2018081920180818
825776ref5uicc -xSSE4.2 -O3 -fomit-frame-pointer2018081920180818
827598ref5uicc -xCORE-AVX-I -O3 -fomit-frame-pointer2018081920180818
835102ref5icc -xSSE4.1 -O3 -fomit-frame-pointer2018081920180818
836040ref5uicc -xAVX -O3 -fomit-frame-pointer2018081920180818
836224ref5icc -xAVX -O3 -fomit-frame-pointer2018081920180818
836388ref5icc -xSSE4.2 -O3 -fomit-frame-pointer2018081920180818
836444ref5icc -xCORE-AVX-I -O3 -fomit-frame-pointer2018081920180818
843778ref5icc2018081920180818
893552ref5uicc -xSSE4.1 -O3 -fomit-frame-pointer2018081920180818
894546ref5uicc2018081920180818
898124ref5icc -xSSE4.2 -O2 -fomit-frame-pointer2018081920180818
903422ref5icc -xSSE4.1 -O2 -fomit-frame-pointer2018081920180818
909848ref5icc -xCORE-AVX-I -O2 -fomit-frame-pointer2018081920180818
909898ref5icc -xAVX -O2 -fomit-frame-pointer2018081920180818
935122ref5uicc -no-vec2018081920180818
937412ref5icc -no-vec2018081920180818
954414ref5uicc -xAVX -O2 -fomit-frame-pointer2018081920180818
954478ref5uicc -xCORE-AVX-I -O2 -fomit-frame-pointer2018081920180818
959476ref5uicc -xSSE4.2 -O2 -fomit-frame-pointer2018081920180818
962694ref5uicc -xSSE4.1 -O2 -fomit-frame-pointer2018081920180818
1045290ref5uicc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2018081920180818
1060454ref5uicc -xCORE-AVX2 -O3 -fomit-frame-pointer2018081920180818
1066794ref5icc -xCORE-AVX2 -O3 -fomit-frame-pointer2018081920180818
1067972ref5icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2018081920180818
1071750ref5icc -xCORE-AVX512 -O2 -fomit-frame-pointer2018081920180818
1073404ref5icc -xCORE-AVX2 -O2 -fomit-frame-pointer2018081920180818
1076096ref5icc -xCORE-AVX512 -O3 -fomit-frame-pointer2018081920180818
1109832ref5uicc -xCORE-AVX2 -O2 -fomit-frame-pointer2018081920180818
1123732ref5uicc -xCORE-AVX512 -O3 -fomit-frame-pointer2018081920180818
1133632ref5uicc -xCORE-AVX512 -O2 -fomit-frame-pointer2018081920180818
1289286ref5icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2018081920180818
1335854ref5uicc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2018081920180818

Compiler output

Implementation: crypto_scalarmult/kummer/avx2int
Compiler: cc
smult.c: In file included from smult.c:3:0:
smult.c: gfe4x.h:7:1: error: unknown type name '__m256i'
smult.c: typedef __m256i vec;
smult.c: ^
smult.c: smult.c:6:1: warning: excess elements in scalar initializer [enabled by default]
smult.c: static const vec mask25 = {0x1ffffff,0x1ffffff,0x1ffffff,0x1ffffff};
smult.c: ^
smult.c: smult.c:6:1: warning: (near initialization for 'mask25') [enabled by default]
smult.c: smult.c:6:1: warning: excess elements in scalar initializer [enabled by default]
smult.c: smult.c:6:1: warning: (near initialization for 'mask25') [enabled by default]
smult.c: smult.c:6:1: warning: excess elements in scalar initializer [enabled by default]
smult.c: smult.c:6:1: warning: (near initialization for 'mask25') [enabled by default]
smult.c: smult.c:7:1: warning: excess elements in scalar initializer [enabled by default]
smult.c: static const vec mask26 = {0x3ffffff,0x3ffffff,0x3ffffff,0x3ffffff};
smult.c: ^
smult.c: smult.c:7:1: warning: (near initialization for 'mask26') [enabled by default]
smult.c: smult.c:7:1: warning: excess elements in scalar initializer [enabled by default]
smult.c: smult.c:7:1: warning: (near initialization for 'mask26') [enabled by default]
smult.c: smult.c:7:1: warning: excess elements in scalar initializer [enabled by default]
smult.c: smult.c:7:1: warning: (near initialization for 'mask26') [enabled by default]
smult.c: smult.c:304:3: warning: braces around scalar initializer [enabled by default]
smult.c: init(0xffffffc+1,0xffffffc+1,0xffffffc+2,0xffffffc+2,0xffffffc+2,0xffffffc+2,0xffffffc+1,0xffffffc+1)
smult.c: ^
smult.c: smult.c:304:3: warning: (near initialization for 'hadamardoffset[0]') [enabled by default]
smult.c: smult.c:304:3: warning: overflow in implicit constant conversion [-Woverflow]
smult.c: ...

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

Compiler output

Implementation: crypto_scalarmult/kummer/avx
Compiler: cc
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji548/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/genji548/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_avx_rep_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji548/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_avx_rep_memset'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_scalarmult/kummer/avx2int
Compiler: gcc
smult.c: smult.c: In function 'gfe4x_mulconst':
smult.c: smult.c:36:6: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
smult.c: t0 = _mm256_mul_epi32(a->gt;v[0],*b);
smult.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:126:1: error: inlining failed in call to always_inline '_mm256_add_epi64': target specific option mismatch
smult.c: _mm256_add_epi64 (__m256i __A, __m256i __B)
smult.c: ^~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:787:1: error: inlining failed in call to always_inline '_mm256_srli_epi64': target specific option mismatch
smult.c: _mm256_srli_epi64 (__m256i __A, int __B)
smult.c: ^~~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.c: ...

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

Compiler output

Implementation: crypto_scalarmult/kummer/avx2int
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
smult.c: smult.c: In function 'gfe4x_mulconst':
smult.c: smult.c:36:6: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
smult.c: t0 = _mm256_mul_epi32(a->gt;v[0],*b);
smult.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:126:1: error: inlining failed in call to always_inline '_mm256_add_epi64': target specific option mismatch
smult.c: _mm256_add_epi64 (__m256i __A, __m256i __B)
smult.c: ^~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:787:1: error: inlining failed in call to always_inline '_mm256_srli_epi64': target specific option mismatch
smult.c: _mm256_srli_epi64 (__m256i __A, int __B)
smult.c: ^~~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.c: ...
smult.c: smult.c: In function 'gfe4x_mulconst':
smult.c: smult.c:36:6: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
smult.c: t0 = _mm256_mul_epi32(a->gt;v[0],*b);
smult.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:126:1: error: inlining failed in call to always_inline '_mm256_add_epi64': target specific option mismatch
smult.c: _mm256_add_epi64 (__m256i __A, __m256i __B)
smult.c: ^~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:787:1: error: inlining failed in call to always_inline '_mm256_srli_epi64': target specific option mismatch
smult.c: _mm256_srli_epi64 (__m256i __A, int __B)
smult.c: ^~~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.c: ...

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

Compiler output

Implementation: crypto_scalarmult/kummer/avx
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji548/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/genji548/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_avx_rep_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji548/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_avx_rep_memset'
try.c: collect2: error: ld returned 1 exit status
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji548/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/genji548/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_avx_rep_memset'
try.c: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji548/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_avx_rep_memset'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_scalarmult/kummer/avx2int
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.c: smult.c: In function 'gfe4x_mulconst':
smult.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:126:1: error: inlining failed in call to always_inline '_mm256_add_epi64': target specific option mismatch
smult.c: _mm256_add_epi64 (__m256i __A, __m256i __B)
smult.c: ^~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:787:1: error: inlining failed in call to always_inline '_mm256_srli_epi64': target specific option mismatch
smult.c: _mm256_srli_epi64 (__m256i __A, int __B)
smult.c: ^~~~~~~~~~~~~~~~~
smult.c: smult.c:45:10: note: called from here
smult.c: t2 = _mm256_add_epi64(t2,_mm256_srli_epi64(t1,25)); t1 &= mask25;
smult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smult.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,
smult.c: from gfe4x.h:5,
smult.c: from smult.c:3:
smult.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:126:1: error: inlining failed in call to always_inline '_mm256_add_epi64': target specific option mismatch
smult.c: _mm256_add_epi64 (__m256i __A, __m256i __B)
smult.c: ^~~~~~~~~~~~~~~~
smult.c: ...

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