Implementation notes: x86, rumba5, crypto_sign/mqdss64

Computer: rumba5
Architecture: x86
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: mqdss64
TimeImplementationCompilerBenchmark dateSUPERCOP version
61002656avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082320180818
61004608avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082320180818
74221952avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082320180818
74637536avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082320180818
75924832avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082320180818
78021664avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082320180818
78573024avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082320180818
81251072avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082320180818
198774400refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082320180818
198798240refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082320180818
199319520refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082320180818
200249152refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082320180818
200289664refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082320180818
201066304refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082320180818
216626080refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082320180818
302693760refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082320180818
302890464refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082320180818
303472288refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082320180818
306831872refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082320180818
310150272refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018082320180818
310378496refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018082320180818
310394368refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082320180818
310443168refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082320180818
310495392refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082320180818
311441856refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082320180818
311884192refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082320180818
312005728refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082320180818
312063040refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082320180818
312144768refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082320180818
313430848refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082320180818
313533888refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082320180818
313771552refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082320180818
313892672refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082320180818
315276800refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082320180818
315402688refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018082320180818
315539488refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018082320180818
315589472refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018082320180818
317094784refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018082320180818
317335104refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082320180818
317355616refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082320180818
317443424refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018082320180818
317602144refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082320180818
317671008refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082320180818
317745024refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082320180818
317792576refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082320180818
317845184refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082320180818
317900032refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018082320180818
317927456refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082320180818
317989696refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082320180818
318205792refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018082320180818
318320928refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082320180818
318408768refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018082320180818
318658560refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082320180818
320901216refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082320180818
323947072refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018082320180818
325380224refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018082320180818
326529504refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018082320180818
326725344refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018082320180818
328650880refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082320180818
329848416refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082320180818
330364928refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018082320180818
332960032refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082320180818
332997408refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082320180818
333869216refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018082320180818
334234304refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018082320180818
335222400refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082320180818
335704768refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082320180818
335867872refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018082320180818
338784160refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082320180818
340246272refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082320180818
340403584refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018082320180818
340436064refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018082320180818
340575648refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018082320180818
343242240refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082320180818
367519040refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082320180818
369268224refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018082320180818
378204896refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018082320180818
378223104refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082320180818
383928448refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082320180818
385402272refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082320180818
387073696refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082320180818
389674240refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018082320180818
394352576refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018082320180818
394794176refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018082320180818
395678144refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082320180818
395854432refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018082320180818
396286176refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018082320180818
396835680refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082320180818
397183744refgcc -m32 -O3 -fomit-frame-pointer2018082320180818
398856768refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082320180818
399828640refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018082320180818
400581600refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018082320180818
401193344refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018082320180818
401524928refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018082320180818
401740352refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082320180818
401916992refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018082320180818
401929440refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018082320180818
402645216refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018082320180818
403219296refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018082320180818
403456640refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018082320180818
403801184refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082320180818
404129696refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018082320180818
404350432refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018082320180818
404654624refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018082320180818
405035808refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018082320180818
405866368refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018082320180818
406089696refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018082320180818
407157216refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018082320180818
407962816refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018082320180818
408745280refgcc -m32 -march=k6 -O -fomit-frame-pointer2018082320180818
409087360refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082320180818
409188288refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082320180818
409272256refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018082320180818
409282016refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018082320180818
409688032refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018082320180818
410184512refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018082320180818
410644832refgcc -m32 -march=k8 -O -fomit-frame-pointer2018082320180818
411070528refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082320180818
411382592refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082320180818
411405920refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082320180818
411501504refgcc -m32 -march=nocona -O -fomit-frame-pointer2018082320180818
411531616refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018082320180818
411641952refgcc -m32 -march=prescott -O -fomit-frame-pointer2018082320180818
411670848refgcc -m32 -march=athlon -O -fomit-frame-pointer2018082320180818
411735616refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082320180818
411824192refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082320180818
411940000refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082320180818
412170240refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082320180818
412460448refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018082320180818
412737984refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082320180818
413234720refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018082320180818
413631360refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082320180818
413640384refgcc -m32 -march=core2 -O -fomit-frame-pointer2018082320180818
413960192refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018082320180818
413986016refgcc -m32 -O -fomit-frame-pointer2018082320180818
414020736refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018082320180818
415513088refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018082320180818
415684416refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082320180818
415752416refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082320180818
415840064refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082320180818
415960224refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082320180818
417390176refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018082320180818
417392864refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082320180818
418560288refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018082320180818
418603616refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018082320180818
418659776refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018082320180818
419711776refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018082320180818
419855808refgcc -m32 -O2 -fomit-frame-pointer2018082320180818
420162144refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018082320180818
420671616refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082320180818
421193216refgcc -m32 -Os -fomit-frame-pointer2018082320180818
421624064refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018082320180818
421873632refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082320180818
422757920refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018082320180818
422879488refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018082320180818
422952640refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082320180818
423077632refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082320180818
423497056refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082320180818
423606368refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082320180818
424161248refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082320180818
425099872refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018082320180818
425274976refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082320180818
426143424refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082320180818
427183680refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082320180818
427803328refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082320180818
431905632refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018082320180818
434326528refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018082320180818
434715072refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082320180818
434969632refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082320180818
436462560refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018082320180818
439546944refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018082320180818
440495296refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018082320180818
441473728refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018082320180818
441553088refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018082320180818
443349408refgcc -m32 -march=i386 -O -fomit-frame-pointer2018082320180818
446580608refgcc -m32 -march=pentium -O -fomit-frame-pointer2018082320180818
448076640refgcc -m32 -march=i486 -O -fomit-frame-pointer2018082320180818
448642304refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082320180818
456859296refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018082320180818
464032192refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018082320180818
477429344refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018082320180818
479452096refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082320180818
486834496refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018082320180818
488201056refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082320180818

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