Implementation notes: x86, titan0, crypto_sign/sphincsf192sha256robust

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf192sha256robust
TimeImplementationCompilerBenchmark dateSUPERCOP version
206851260avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
206995052avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
213975232avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
214903648avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
243070440avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
243811680avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
288223744avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
289595036avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
471704612refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
471755860refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
498283956refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
498466968refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
545917216refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
545962900refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
569455400refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
569842416refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
571701204refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
574756732refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
575137216refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
581743460refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
581818008refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
582690344refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
583632900refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
583678096refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
583775652refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
583955292refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
584368528refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
584600052refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
584915352refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
585628616refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
586166428refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
586864688refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
587963112refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
588169564refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
588309364refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
589397708refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
589755752refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
590683236refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
594262624refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
594322132refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
595737768refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
595792844refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
595818348refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
596050648refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
596712636refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
597012768refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
598229364refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
598301576refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
599578160refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
600908592refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
600984388refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
601243540refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
601355092refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
604675700refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
604897444refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
607083420refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
607176072refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
607310320refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
607571124refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
607591284refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
610937160refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
610958432refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
612564560refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
612594528refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
612636908refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
613035172refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
613286072refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
613310020refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
613782536refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
614027000refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
615239980refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
615287272refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
615343004refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
615563496refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
616239232refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
616947300refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
617912616refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
618520648refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
618744672refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
619157496refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
619434380refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
619587916refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
619670764refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
621192660refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
623910948refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
624004348refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
624046276refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
624081404refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
625235028refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
625572836refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
625722412refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
625824296refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
627023792refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
627118704refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
627266300refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
627875416refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
628066428refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
628335788refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
629913284refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
630919948refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
630934212refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
631417116refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
633316264refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
635686420refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
637015400refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
641190544refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
641263772refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
641283344refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
641308172refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
641734968refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
641838736refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
641908368refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
641930344refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
641935512refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
642025288refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
642030816refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
642299612refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
646992292refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
647066724refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
647982084refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
648515964refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
648568076refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
648568748refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
649002156refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
649022224refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
649458824refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
650247976refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
651926844refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
651944584refgcc -m32 -O -fomit-frame-pointer2019080820190803
651956868refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
651977236refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
652075600refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
655332380refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
656728196refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
656839312refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
657414304refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
659468064refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
659762584refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
659806852refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
660105908refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
660802544refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
660954736refgcc -m32 -Os -fomit-frame-pointer2019080820190803
662451300refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
664605136refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
664669136refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
665413332refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
665529548refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
666560820refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
668329280refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
668457752refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
669032212refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
670176340refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
670311852refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
671278828refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
672566008refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
673967324refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
674038732refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
674069056refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
678395812refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
678431760refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
678695348refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
678940648refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
678942780refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
681325152refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
681499408refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
682876112refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
683159436refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
683245064refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
683256344refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
683946720refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
688027212refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
688497168refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
688769284refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
688775768refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
688987220refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
689386064refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
696425388refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
696864116refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
697979808refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
700042872refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
707157356refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
709212680refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
713789820refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
714406132refgcc -m32 -march=core-avx2 -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