Implementation notes: x86, samba, crypto_sign/sphincsf256sha256simple

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf256sha256simple
TimeImplementationCompilerBenchmark dateSUPERCOP version
196872915avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
199314068avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
201981373avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
202193101avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
206946228avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
207851718avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
271578958avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
277222742avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
516055155refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
516406529refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
545808500refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
545926246refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
603841544refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
605606347refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
648199891refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
650813328refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
651284607refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
651575861refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
653515373refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
653719736refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
653769979refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
654399678refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
654702760refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
656808835refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
657012549refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
658420165refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
662348990refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
663664707refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
664039037refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
664222177refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
664305653refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
665345742refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
666175796refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
666297931refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
666793563refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
668910873refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
668992377refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
670707199refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
671635367refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
671695637refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
671954992refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
672750527refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
673372615refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
673557420refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
673614680refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
674158915refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
674625305refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
674728947refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
676519458refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
676690072refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
676793473refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
677202260refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
677260691refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
677300319refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
678707274refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
681632718refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
682720542refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
682743667refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
683213645refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
684858407refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
684968104refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
685055754refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
685358023refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
685555252refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
686327814refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
686429813refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
688161042refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
688166301refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
688608650refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
689406871refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
689553699refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
690141282refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
690552014refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
691205144refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
692189990refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
692617099refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
692826066refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
693244200refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
693510036refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
693641832refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
694019544refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
694905238refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
696517117refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
699536827refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
699615810refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
701496141refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
701870900refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
702157094refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
702366947refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
704452576refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
706331800refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
706635083refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
707078194refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
708702893refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
708711209refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
708829157refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
709223095refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
709953488refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
710601724refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
710938516refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
713246593refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
713668232refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
715007064refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
715063056refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
715109940refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
715295163refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
715377403refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
716755938refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
716936549refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
717658846refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
722279663refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
722296794refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
722440102refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
722585822refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
722971758refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
722975228refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
728734109refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
728848508refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
728920343refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
729037510refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
729050875refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
732343834refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
732524036refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
732636583refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
732994258refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
733306933refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
734472940refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
734588494refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
734920653refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
735261052refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
736770754refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
736884720refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
736937903refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
737641938refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
738603924refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
742146023refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
742193901refgcc -m32 -O -fomit-frame-pointer2019080820190803
743356669refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
743386339refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
744529464refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
745144926refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
747378711refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
747550782refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
747934270refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
748322016refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
748658067refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
749106215refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
749546075refgcc -m32 -Os -fomit-frame-pointer2019080820190803
751279851refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
754816201refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
755270560refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
755337256refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
755373448refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
756730822refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
756840698refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
757688014refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
759592478refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
759669892refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
759731994refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
761898520refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
762223451refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
762388139refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
766222437refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
767647070refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
767661224refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
767674192refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
767886243refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
771959292refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
772134865refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
772237256refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
772607302refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
772804274refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
774623614refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
776434028refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
776550129refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
777026937refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
782385095refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
783859440refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
786766141refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
788682554refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
788722943refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
798897399refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
806428325refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
808978786refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803

Compiler output

Implementation: crypto_sign/sphincsf256sha256simple/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/sphincsf256sha256simple/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/sphincsf256sha256simple/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