Implementation notes: amd64, manny613, crypto_sign/mqdss64

Computer: manny613
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_sign
Primitive: mqdss64
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
175560648? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018083020180818
176019940? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018083020180818
176657424? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018083020180818
176907588? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018083020180818
177054668? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018083020180818
177585136? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018083020180818
178036160? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018083020180818
222579356? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018083020180818
222631072? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018083020180818
233514284? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018083020180818
233749676? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018083020180818
242158364? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018083020180818
242182848? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018083020180818
297574620? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018083020180818
299403732? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
299763280? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018083020180818
300170436? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018083020180818
300344264? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
300715524? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
300873352? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018083020180818
301256056? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
302523644? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018083020180818
302540824? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018083020180818
303338672? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018083020180818
303518296? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
303589092? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
304192556? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
304664176? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018083020180818
304797616? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018083020180818
304892616? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
305239332? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018083020180818
305769228? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018083020180818
305810876? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
305930440? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018083020180818
306039992? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018083020180818
306149240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
306267072? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018083020180818
306269008? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018083020180818
306508356? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018083020180818
306944004? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018083020180818
306984940? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018083020180818
307345068? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018083020180818
308043472? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018083020180818
309252156? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018083020180818
309255860? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018083020180818
310388796? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018083020180818
310530040? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018083020180818
310774860? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018083020180818
312772116? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
312796084? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
312859240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
313124388? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
374661432? ? ?? ? ?reficc_-no-vec2018083020180818
379435304? ? ?? ? ?reficc2018083020180818
382559728? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018083020180818
383353912? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
383722712? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018083020180818
384028488? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018083020180818
384259004? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018083020180818
384488756? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018083020180818
384824380? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
386883936? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018083020180818
387569568? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018083020180818
387679992? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018083020180818
387788248? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018083020180818
388109244? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018083020180818
388115752? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018083020180818
388365868? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018083020180818
388457220? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018083020180818
388658580? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018083020180818
388856468? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
389547060? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
389553308? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018083020180818
389605968? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018083020180818
390748160? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018083020180818
393605144? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
395419916? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018083020180818
396212668? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018083020180818
396272900? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018083020180818
396791112? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
397712732? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018083020180818
398226292? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
398347516? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018083020180818
398970720? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018083020180818
399047344? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
399100732? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018083020180818
399254752? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018083020180818
399316196? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
399426644? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018083020180818
399994688? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018083020180818
400019968? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018083020180818
400072228? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018083020180818
400246388? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018083020180818
400524840? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018083020180818
400685312? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
401410704? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018083020180818
403000236? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018083020180818
403596028? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018083020180818
407069932? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
409004588? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
413356624? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018083020180818
416482280? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
417497252? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018083020180818
417802552? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018083020180818
418080936? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018083020180818
418532736? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
419173688? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018083020180818
420018924? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018083020180818
421399712? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018083020180818
421599624? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018083020180818
422151932? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018083020180818
423793140? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018083020180818
432019892? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018083020180818
447224856? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018083020180818
1709746704? ? ?? ? ?refgcc2018083020180818
1711576016? ? ?? ? ?refcc2018083020180818
1712965268? ? ?? ? ?refgcc_-funroll-loops2018083020180818

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: 16, 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
icc avx2
icc -no-vec avx2
icc -xAVX -O2 -fomit-frame-pointer avx2
icc -xAVX -O3 -fomit-frame-pointer avx2
icc -xCORE-AVX-I -O2 -fomit-frame-pointer avx2
icc -xCORE-AVX-I -O3 -fomit-frame-pointer avx2
icc -xSSE4.1 -O2 -fomit-frame-pointer avx2
icc -xSSE4.1 -O3 -fomit-frame-pointer avx2
icc -xSSE4.2 -O2 -fomit-frame-pointer avx2
icc -xSSE4.2 -O3 -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
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: gf31.c:13:5: error: unknown type name '__m256i'
gf31.c: __m256i x;
gf31.c: ^
gf31.c: gf31.c:14:5: error: unknown type name '__m256i'
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^
gf31.c: gf31.c:18:33: error: '__m256i' undeclared (first use in this function)
gf31.c: x = _mm256_loadu_si256((__m256i const *) (in + 16*i));
gf31.c: ^
gf31.c: gf31.c:18:33: note: each undeclared identifier is reported only once for each function it appears in
gf31.c: gf31.c:18:41: error: expected ')' before 'const'
gf31.c: x = _mm256_loadu_si256((__m256i const *) (in + 16*i));
gf31.c: ^
gf31.c: gf31.c:20:38: error: expected expression before ')' token
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^
gf31.c: gf31.c: In function 'vgf31_shorten_unique':
gf31.c: gf31.c:29:5: error: unknown type name '__m256i'
gf31.c: __m256i x;
gf31.c: ^
gf31.c: gf31.c:30:5: error: unknown type name '__m256i'
gf31.c: __m256i _w2114 = _mm256_set1_epi32(2114*65536 + 2114);
gf31.c: ^
gf31.c: gf31.c:31:5: error: unknown type name '__m256i'
gf31.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: gf31.c:14:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
gf31.c: _mm256_set1_epi16 (short __A)
gf31.c: ^~~~~~~~~~~~~~~~~
gf31.c: gf31.c:14:20: note: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
gf31.c: ^~~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:20:9: note: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.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
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: gf31.c:14:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
gf31.c: _mm256_set1_epi16 (short __A)
gf31.c: ^~~~~~~~~~~~~~~~~
gf31.c: gf31.c:14:20: note: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
gf31.c: ^~~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:20:9: note: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: ...
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: gf31.c:14:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
gf31.c: _mm256_set1_epi16 (short __A)
gf31.c: ^~~~~~~~~~~~~~~~~
gf31.c: gf31.c:14:20: note: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
gf31.c: ^~~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:20:9: note: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.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
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
gf31.c: from gf31.c:2:
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: gf31.c:19:13: note: called from here
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:179:1: error: inlining failed in call to always_inline '_mm256_and_si256': target specific option mismatch
gf31.c: _mm256_and_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: gf31.c:19:13: note: called from here
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:43,
gf31.c: from gf31.c:2:
gf31.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx2intrin.h:238:1: error: inlining failed in call to always_inline '_mm256_cmpeq_epi16': target specific option mismatch
gf31.c: _mm256_cmpeq_epi16 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:19:13: note: called from here
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.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: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
gf31.c: gf31.c: In function 'gf31_npack':
gf31.c: gf31.c:119:5: warning: 'memset' specified size between 18446744073441116160 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
gf31.c: memset(out, 0, ((5 * n + 7) & ~7) >> 3);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
gf31.c: gf31.c: In function 'gf31_npack':
gf31.c: gf31.c:126:5: warning: 'memset' specified size between 18446744073441116160 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
gf31.c: memset(out, 0, ((5 * n + 7) & ~7) >> 3);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 74, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -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 -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 -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 -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 -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=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=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 -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=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=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 -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -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-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -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 -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 -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=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 -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=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=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=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 -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=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer 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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
gf31.c: gf31.c: In function 'gf31_npack':
gf31.c: gf31.c:126:5: warning: 'memset' specified size between 18446744073441116160 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
gf31.c: memset(out, 0, ((5 * n + 7) & ~7) >> 3);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: gf31.c: In function 'gf31_npack':
gf31.c: gf31.c:126:5: warning: 'memset' specified size between 18446744073441116160 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
gf31.c: memset(out, 0, ((5 * n + 7) & ~7) >> 3);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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