Implementation notes: x86, samba, crypto_sign/sphincsf128sha256robust

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf128sha256robust
TimeImplementationCompilerBenchmark dateSUPERCOP version
142670222avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
142705449avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
148500648avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
150862619avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
153654736avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
154710222avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
197160052avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
200649984avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
328839121refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
330320817refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
347895693refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
348096418refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
393166272refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
393196343refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
400576719refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
400745730refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
403754552refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
406036929refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
407547962refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
410167655refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
410266212refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
414547802refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
415791822refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
416111921refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
416815713refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
416872018refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
417019184refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
417070094refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
418143448refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
418394657refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
418462183refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
419895996refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
419946323refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
420249468refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
422009522refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
422517923refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
422845142refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
423606512refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
424093351refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
424114538refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
424255490refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
424315718refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
424367099refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
424695440refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
424970635refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
425624108refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
425937617refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
426319379refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
427010633refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
427136740refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
428937649refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
428940358refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
428978464refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
430522048refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
430741473refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
430745869refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
431174712refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
431618748refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
432017808refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
432578444refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
433212676refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
433467686refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
433520883refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
433934720refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
434048975refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
434093984refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
434484702refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
434834421refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
435645528refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
436617254refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
436787675refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
437042383refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
437333062refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
437389133refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
437429028refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
437973051refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
438071373refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
438188346refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
438841562refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
438899260refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
440266964refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
441380339refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
441671758refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
441699072refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
442816285refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
443320064refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
443467959refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
443865980refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
445760905refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
445781966refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
445797137refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
446366409refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
446902601refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
446914270refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
446921012refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
447401095refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
447536855refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
447762484refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
447913663refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
448909781refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
450208782refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
451737686refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
451754885refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
451840519refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
451852419refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
451894756refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
452768290refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
453999375refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
457146169refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
458257315refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
458855080refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
459210980refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
459240224refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
460921641refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
463082114refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
463134848refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
465150238refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
465206222refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
465209639refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
465453564refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
466047708refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
467258468refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
467487982refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
467808277refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
467924613refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
468480300refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
471532096refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
472146818refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
472174393refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
472202262refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
474077788refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
475906581refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
476010714refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
476014258refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
476022571refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
476043016refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
476198700refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
476221082refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
477886879refgcc -m32 -O -fomit-frame-pointer2019080820190803
478102908refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
478400781refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
478858871refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
479118849refgcc -m32 -Os -fomit-frame-pointer2019080820190803
480875899refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
480927972refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
482141184refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
482597002refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
482898113refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
483456346refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
483527871refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
484022377refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
484085250refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
484474002refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
484531083refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
485097952refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
485100978refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
485247306refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
485540482refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
485582721refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
485583242refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
486280291refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
486631353refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
487926655refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
488061211refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
488138986refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
488281779refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
488402686refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
488450773refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
488932772refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
489036865refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
489085137refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
492869559refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
492908736refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
494035769refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
494817201refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
495174323refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
496095514refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
496385076refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
497134058refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
502672841refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
502805053refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
502890030refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
504004292refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
508118276refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803

Compiler output

Implementation: crypto_sign/sphincsf128sha256robust/avx2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:11:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.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/sphincsf128sha256robust/avx2
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:11:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: ...
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:11:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.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/sphincsf128sha256robust/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.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