Implementation notes: x86, bolero, crypto_sign/mqdss64

Computer: bolero
Architecture: x86
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: mqdss64
TimeImplementationCompilerBenchmark dateSUPERCOP version
44360716avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082920180818
45879384avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082920180818
55583548avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082920180818
56079736avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082920180818
57735048avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082920180818
57783564avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082920180818
57815372avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082920180818
57870396avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082920180818
174291748refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082920180818
175406600refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082920180818
229542352refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082920180818
229637844refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082920180818
229957408refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082920180818
230868796refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082920180818
231911148refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082920180818
287119008refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018082920180818
288660260refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018082920180818
294411216refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082920180818
294428588refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082920180818
294521392refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082920180818
300563672refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082920180818
300571252refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082920180818
301205996refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082920180818
301218436refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082920180818
303061452refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018082920180818
304544748refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018082920180818
304580028refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018082920180818
304873192refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082920180818
305162196refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018082920180818
305724960refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082920180818
305893880refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018082920180818
306034736refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018082920180818
306166144refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082920180818
306432076refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082920180818
306447552refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082920180818
306615404refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082920180818
307476172refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018082920180818
307499828refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018082920180818
307841760refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082920180818
307916072refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082920180818
307920956refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082920180818
307943932refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082920180818
309617676refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082920180818
309705108refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018082920180818
309962180refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082920180818
309999604refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018082920180818
310038420refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082920180818
313545504refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018082920180818
319943732refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018082920180818
320581740refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018082920180818
320981136refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082920180818
322873520refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082920180818
324063888refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082920180818
326123256refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082920180818
326878260refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082920180818
327718672refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082920180818
328421408refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082920180818
328703420refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018082920180818
328824808refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082920180818
329045316refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082920180818
329352100refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082920180818
330047576refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082920180818
330236024refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082920180818
330675432refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082920180818
330874960refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082920180818
331377040refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018082920180818
331561648refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082920180818
331990296refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082920180818
332091076refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018082920180818
332173648refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018082920180818
332192400refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018082920180818
332490084refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018082920180818
332817196refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082920180818
336665404refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082920180818
339270148refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082920180818
339311468refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018082920180818
344824620refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082920180818
345161052refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018082920180818
397339636refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082920180818
397369408refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082920180818
397657536refgcc -m32 -march=core2 -O -fomit-frame-pointer2018082920180818
397681752refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082920180818
397690184refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082920180818
397774528refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018082920180818
397838216refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018082920180818
397868764refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082920180818
399146876refgcc -m32 -O3 -fomit-frame-pointer2018082920180818
400155896refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082920180818
401344292refgcc -m32 -march=athlon -O -fomit-frame-pointer2018082920180818
402384024refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018082920180818
402914300refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082920180818
402947760refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082920180818
403985804refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082920180818
404634264refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018082920180818
404892864refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082920180818
404940992refgcc -m32 -march=nocona -O -fomit-frame-pointer2018082920180818
404956372refgcc -m32 -march=prescott -O -fomit-frame-pointer2018082920180818
405009608refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082920180818
405259292refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082920180818
405289188refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082920180818
405430636refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082920180818
405763940refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082920180818
405847772refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082920180818
405853312refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082920180818
406057492refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082920180818
406074380refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082920180818
406573420refgcc -m32 -march=k8 -O -fomit-frame-pointer2018082920180818
406599344refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018082920180818
406639136refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082920180818
406653636refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018082920180818
406674600refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018082920180818
406681944refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018082920180818
406750300refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018082920180818
406752800refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082920180818
407048628refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018082920180818
407603336refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082920180818
407665732refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018082920180818
407730012refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018082920180818
407837560refgcc -m32 -Os -fomit-frame-pointer2018082920180818
407968200refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018082920180818
408011508refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018082920180818
408232528refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018082920180818
408328500refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018082920180818
408329484refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018082920180818
408353420refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018082920180818
408426680refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082920180818
408435664refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018082920180818
408552752refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018082920180818
408608564refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018082920180818
408619992refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082920180818
408685268refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018082920180818
408718188refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082920180818
408739520refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082920180818
408761956refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018082920180818
408783212refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018082920180818
408799320refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018082920180818
409255760refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018082920180818
410016060refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018082920180818
410023220refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082920180818
410061412refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018082920180818
410073088refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082920180818
410236104refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018082920180818
410901776refgcc -m32 -O -fomit-frame-pointer2018082920180818
410996464refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018082920180818
411030440refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082920180818
411154008refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018082920180818
411559140refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082920180818
411585444refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082920180818
411637564refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082920180818
411728464refgcc -m32 -march=k6 -O -fomit-frame-pointer2018082920180818
411771168refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018082920180818
411786696refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018082920180818
411805400refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018082920180818
412017996refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082920180818
414258328refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018082920180818
414383844refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082920180818
414529144refgcc -m32 -O2 -fomit-frame-pointer2018082920180818
414545524refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082920180818
417168516refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082920180818
417218352refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018082920180818
418958060refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018082920180818
419412260refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018082920180818
420746716refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018082920180818
422551796refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018082920180818
422746040refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018082920180818
429348744refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082920180818
429534352refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018082920180818
429555540refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018082920180818
429561976refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018082920180818
429979944refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018082920180818
432085668refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018082920180818
433411416refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018082920180818
433687128refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018082920180818
433710056refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018082920180818
436785836refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082920180818
436858632refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018082920180818
441948476refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018082920180818
443128108refgcc -m32 -march=i386 -O -fomit-frame-pointer2018082920180818
444189852refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082920180818
444350996refgcc -m32 -march=pentium -O -fomit-frame-pointer2018082920180818
444539064refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018082920180818
444882224refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018082920180818
444998188refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082920180818
445865812refgcc -m32 -march=i486 -O -fomit-frame-pointer2018082920180818

Compiler output

Implementation: crypto_sign/mqdss64/avx2
Compiler: gcc -funroll-loops -m32 -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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1300: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:13: error: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
gf31.c: ^
gf31.c: gf31.c:20:9: error: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: 156, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx2
gcc -m32 -O2 -fomit-frame-pointer avx2
gcc -m32 -O3 -fomit-frame-pointer avx2
gcc -m32 -O -fomit-frame-pointer avx2
gcc -m32 -Os -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_sign/mqdss64/avx2
Compiler: gcc -m32 -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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1300: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:13: error: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
gf31.c: ^
gf31.c: gf31.c:20:9: error: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1300: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:13: error: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
gf31.c: ^
gf31.c: gf31.c:20:9: error: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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 -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_sign/mqdss64/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:11: error: 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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: 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 /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: 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: 8, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer avx2