Implementation notes: x86, titan0, crypto_sign/sphincsf256sha256simple

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf256sha256simple
TimeImplementationCompilerBenchmark dateSUPERCOP version
210251512avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080920190803
210473488avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080920190803
218027156avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080920190803
218768112avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080920190803
230039324avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080920190803
231593820avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080920190803
288453844avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080920190803
291645724avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080920190803
535876228refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080920190803
535909716refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080920190803
570126092refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080920190803
571022080refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080920190803
627660044refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080920190803
635489536refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080920190803
660172136refgcc -m32 -O3 -fomit-frame-pointer2019080920190803
662574620refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080920190803
662774080refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080920190803
662917056refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080920190803
663167776refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080920190803
664573260refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080920190803
664712328refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080920190803
667396796refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080920190803
667797952refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080920190803
667904844refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080920190803
668967488refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080920190803
670871836refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080920190803
671153376refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080920190803
672145780refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080920190803
672161356refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080920190803
672355660refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080920190803
673653696refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080920190803
674684464refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080920190803
676328060refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080920190803
676810292refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080920190803
677233784refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080920190803
678327988refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080920190803
681734324refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080920190803
682800252refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080920190803
683152716refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080920190803
683495972refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080920190803
683815584refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080920190803
684058580refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080920190803
685695020refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080920190803
687283476refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080920190803
687839240refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080920190803
689041564refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080920190803
690559640refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080920190803
691322012refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080920190803
692053400refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080920190803
692296508refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080920190803
692959048refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080920190803
692990820refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080920190803
693207448refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080920190803
693217496refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080920190803
693662812refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080920190803
693933152refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080920190803
693952712refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080920190803
694391448refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080920190803
695733880refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080920190803
698006176refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080920190803
698518008refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080920190803
698733804refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080920190803
699535952refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080920190803
699641676refgcc -m32 -O2 -fomit-frame-pointer2019080920190803
700040660refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080920190803
700575104refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080920190803
700744888refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080920190803
701035964refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080920190803
701336324refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080920190803
701380564refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080920190803
702450796refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080920190803
702605656refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080920190803
704338336refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080920190803
704879904refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080920190803
705059564refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080920190803
705141812refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080920190803
705344724refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080920190803
705384016refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080920190803
705488152refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080920190803
705488616refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080920190803
707943080refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080920190803
709577428refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080920190803
712448492refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080920190803
713066896refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080920190803
713221072refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080920190803
713326836refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080920190803
713511748refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080920190803
713924748refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080920190803
716246248refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080920190803
716446856refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080920190803
717751944refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080920190803
717764120refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080920190803
718130088refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080920190803
719121320refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080920190803
719290440refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080920190803
720021728refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080920190803
721063340refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080920190803
721103548refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080920190803
721142088refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080920190803
721242348refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080920190803
721335756refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080920190803
721409976refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080920190803
722010780refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080920190803
722150848refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080920190803
722890272refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080920190803
723776164refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080920190803
724403108refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080920190803
725538896refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080920190803
727663048refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080920190803
728097192refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080920190803
728430252refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080920190803
729560644refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080920190803
730517176refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080920190803
732593624refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080920190803
732619548refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080920190803
733335460refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080920190803
734902232refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080920190803
736503572refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080920190803
736857464refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080920190803
738640256refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080920190803
739246536refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080920190803
739529872refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080920190803
741083604refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080920190803
741115076refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080920190803
741193928refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080920190803
741931504refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080920190803
742448236refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080920190803
743124444refgcc -m32 -O -fomit-frame-pointer2019080920190803
743217968refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080920190803
744226068refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080920190803
744579968refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080920190803
744588668refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080920190803
744627748refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080920190803
744892008refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080920190803
745163700refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080920190803
745319012refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080920190803
745353880refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080920190803
745451284refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080920190803
745475256refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080920190803
745657868refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080920190803
746492460refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080920190803
747461172refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080920190803
747497044refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080920190803
747718460refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080920190803
747772884refgcc -m32 -Os -fomit-frame-pointer2019080920190803
748219648refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080920190803
749448952refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080920190803
749693560refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080920190803
750719512refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080920190803
756331148refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080920190803
760624172refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080920190803
761839556refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080920190803
763482044refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080920190803
763763460refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080920190803
766809312refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080920190803
766905864refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080920190803
768074232refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080920190803
768246224refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080920190803
769132872refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080920190803
769492868refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080920190803
769568948refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080920190803
769919224refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080920190803
770781060refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080920190803
772143488refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080920190803
773673820refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080920190803
773751640refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080920190803
774860016refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080920190803
774889396refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080920190803
778979248refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080920190803
779758440refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080920190803
781215764refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080920190803
781253512refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080920190803
781588768refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080920190803
786010664refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080920190803
790675472refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080920190803
790822052refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080920190803
791835292refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080920190803
793249332refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080920190803
798641196refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080920190803
810954564refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080920190803
813610284refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080920190803
827155252refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080920190803
828587548refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080920190803
829688620refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080920190803

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