Implementation notes: x86, samba, crypto_sign/sphincsf192sha256robust

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf192sha256robust
TimeImplementationCompilerBenchmark dateSUPERCOP version
200045542avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
200352809avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
204709913avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
206078752avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
210975421avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
213439365avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
265486254avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
270391533avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
456074163refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
456092361refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
481449133refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
481499191refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
542932333refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
543238244refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
554887264refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
557142597refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
557332212refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
562018776refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
567221342refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
570279742refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
570502184refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
572718687refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
573414071refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
575349175refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
575545872refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
576482552refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
576827547refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
576842812refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
578394162refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
579504920refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
579655641refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
580006819refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
580077984refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
580879833refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
581192276refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
582266038refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
582465198refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
583384864refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
583529159refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
583562478refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
585678873refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
585694365refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
585697859refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
585789020refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
587242273refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
589303986refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
590221768refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
590970798refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
591638218refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
592552490refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
593264730refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
594508034refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
594624002refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
595802256refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
595811552refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
596720096refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
596736740refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
597254258refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
597715317refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
599729599refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
600075919refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
600265994refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
600344992refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
601344139refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
601359419refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
601375544refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
602029859refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
603396026refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
603411605refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
603489574refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
603496535refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
604303863refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
604364097refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
605479780refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
605695420refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
607470550refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
607577923refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
607616223refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
607663561refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
608645264refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
609013984refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
609987689refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
611233199refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
612181175refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
613471092refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
613663530refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
613684238refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
614922006refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
614961448refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
615141389refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
616940160refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
616987906refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
617155720refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
618155381refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
618316838refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
618456278refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
619752323refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
620951823refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
622267105refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
622350928refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
623074391refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
623173754refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
625336449refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
626655433refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
628829119refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
630039210refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
632528756refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
635340036refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
635726182refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
635748284refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
636125209refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
637786073refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
637835897refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
637898125refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
637911466refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
637930157refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
638256115refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
638286826refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
638372908refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
638396911refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
638441280refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
638479323refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
638487232refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
641035596refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
641049106refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
641053577refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
641652708refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
644850389refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
644926192refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
644930688refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
645886267refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
646166760refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
646177575refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
648009635refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
648019411refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
648074714refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
649762960refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
650125391refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
650557320refgcc -m32 -O -fomit-frame-pointer2019080820190803
651309539refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
658218269refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
658735935refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
659204363refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
659306564refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
659312006refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
661755307refgcc -m32 -Os -fomit-frame-pointer2019080820190803
663328949refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
664451529refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
664901845refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
664922811refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
664980076refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
666256661refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
666446954refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
666476729refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
666554770refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
668273761refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
668494133refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
670276897refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
670687236refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
670830558refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
671337460refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
671374436refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
671754996refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
671775942refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
671791327refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
674308821refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
674371182refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
675865952refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
675949281refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
676011798refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
680054629refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
680286509refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
680614115refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
680722990refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
680959532refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
680966016refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
681026875refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
681701544refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
683907476refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
684014145refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
685683135refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
687988839refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
698602158refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
699791738refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803

Compiler output

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