Implementation notes: x86, samba, crypto_sign/mqdss64

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: mqdss64
TimeImplementationCompilerBenchmark dateSUPERCOP version
39377619avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080620190803
39850673avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080620190803
47609461avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080620190803
47616304avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080620190803
47811373avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080620190803
47886022avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080620190803
51240325avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080620190803
52351373avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080620190803
145010367refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080620190803
145235442refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080620190803
200654967refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080620190803
200711705refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080620190803
201045490refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080620190803
204879927refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080620190803
206460492refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080620190803
273408516refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080620190803
275886700refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080620190803
275960091refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080620190803
276124707refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080620190803
280871147refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080620190803
282000451refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080620190803
282900861refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080620190803
283343537refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080620190803
283677688refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080620190803
283745707refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080620190803
284230220refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080620190803
284722423refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080620190803
286582412refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080620190803
288978808refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080620190803
289020603refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080620190803
289140117refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080620190803
289979994refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080620190803
290923966refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080620190803
294590481refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080620190803
294618823refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080620190803
297229855refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080620190803
297480703refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080620190803
297778885refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080620190803
300263425refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080620190803
300347176refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080620190803
301262399refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080620190803
301293193refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080620190803
301366020refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080620190803
302392294refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080620190803
303979111refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080620190803
304590220refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080620190803
305759131refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080620190803
307850225refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080620190803
309087853refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080620190803
309189718refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080620190803
311310558refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080620190803
311468518refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080620190803
311760170refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080620190803
313830078refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080620190803
316314449refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080620190803
317189438refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080620190803
317227191refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080620190803
317309680refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080620190803
317693216refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080620190803
318025517refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080620190803
318333141refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080620190803
318515615refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080620190803
318749459refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080620190803
318864310refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080620190803
327543065refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080620190803
328180034refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080620190803
328352896refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080620190803
328578673refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080620190803
338725202refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080620190803
339323169refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080620190803
345450099refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080620190803
345648187refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080620190803
349160079refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080620190803
352213186refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080620190803
353021867refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080620190803
354040280refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080620190803
354950800refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080620190803
354983684refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080620190803
355006341refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080620190803
355097097refgcc -m32 -O -fomit-frame-pointer2019080620190803
355306016refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080620190803
355495300refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080620190803
358133704refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080620190803
358146403refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080620190803
358224893refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080620190803
358243996refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080620190803
358873817refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080620190803
360148585refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080620190803
360597976refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080620190803
360622403refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080620190803
360860355refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080620190803
360900573refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080620190803
360976250refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080620190803
361356320refgcc -m32 -O3 -fomit-frame-pointer2019080620190803
361376367refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080620190803
361858329refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080620190803
361934903refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080620190803
361999690refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080620190803
362443286refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080620190803
362447162refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080620190803
362568482refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080620190803
363214996refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080620190803
363375480refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080620190803
363656770refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080620190803
363667310refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080620190803
365378028refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080620190803
365826615refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080620190803
366182988refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080620190803
366274816refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080620190803
366630507refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080620190803
367161321refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080620190803
368069197refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080620190803
368094026refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080620190803
368133284refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080620190803
368405623refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080620190803
368473853refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080620190803
368509440refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080620190803
368537724refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080620190803
368786981refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080620190803
369165550refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080620190803
370260051refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080620190803
370278551refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080620190803
370625426refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080620190803
371942042refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080620190803
372154425refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080620190803
372233468refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080620190803
372401839refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080620190803
374225637refgcc -m32 -O2 -fomit-frame-pointer2019080620190803
378445386refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080620190803
378468744refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080620190803
378664286refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080620190803
378819646refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080620190803
379408911refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080620190803
379479607refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080620190803
379551273refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080620190803
379852577refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080620190803
380454409refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080620190803
381770434refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080620190803
388254750refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080620190803
388819994refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080620190803
389425825refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080620190803
389541296refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080620190803
389619836refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080620190803
390050349refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080620190803
390293583refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080620190803
391114742refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080620190803
391360788refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080620190803
391466970refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080620190803
391704031refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080620190803
391781345refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080620190803
392618689refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080620190803
392881389refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080620190803
393035585refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080620190803
393306296refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080620190803
394787282refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080620190803
396373975refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080620190803
397719669refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080620190803
397736746refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080620190803
397847555refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080620190803
399073395refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080620190803
399183575refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080620190803
399465214refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080620190803
399681695refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080620190803
399924887refgcc -m32 -Os -fomit-frame-pointer2019080620190803
400507530refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080620190803
400538268refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080620190803
400685466refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080620190803
400746665refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080620190803
400780762refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080620190803
400823913refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080620190803
402126534refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080620190803
403821313refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080620190803
403938298refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080620190803
404015308refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080620190803
409070306refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080620190803
409110076refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080620190803
415617093refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080620190803
416412008refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080620190803
420772617refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080620190803
423146786refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080620190803
425594867refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080620190803
427735758refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080620190803
444172294refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080620190803
448430046refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080620190803

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/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:13: note: 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/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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 /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:13: note: 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/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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 /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:13: note: 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/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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 /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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/7/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/7/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: 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 /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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 /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/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: 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