Implementation notes: x86, titan0, crypto_sign/sphincsf128sha256robust

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf128sha256robust
TimeImplementationCompilerBenchmark dateSUPERCOP version
147644372avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
147684308avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
157483996avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
158232572avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
169826276avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
170878832avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
209548200avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
212506252avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
339607376refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
339990864refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
362162000refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
362486076refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
397281264refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
397630904refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
406422428refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
406425728refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
412071600refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
415008932refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
415180580refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
417718580refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
417761040refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
422750256refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
422974852refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
423132988refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
423388968refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
423400384refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
423451032refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
423891628refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
423948372refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
424041492refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
424150972refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
425939348refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
425964248refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
426612976refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
426953372refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
427088288refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
427536252refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
427668864refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
430273232refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
430472944refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
430481116refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
430699976refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
430984248refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
431253264refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
432208568refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
432268276refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
432840320refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
432888488refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
433967960refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
434191548refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
435113132refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
435146112refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
436091216refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
436147048refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
436343748refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
436855164refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
437997832refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
438799224refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
440706172refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
441081896refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
441562804refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
441715548refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
441919076refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
442269872refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
442502344refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
443322624refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
443456648refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
443664480refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
443943372refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
445177620refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
445412436refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
445430740refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
445480312refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
445483064refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
445514624refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
445677744refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
446328564refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
446418960refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
446420520refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
446521840refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
447837244refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
447839896refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
448148232refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
449449684refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
449695224refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
450176896refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
450185320refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
450306932refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
450524408refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
451125532refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
451549772refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
451630676refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
451747244refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
452263316refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
452661796refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
453882420refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
455807976refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
456098316refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
456099012refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
456388492refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
456859620refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
457155092refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
457962440refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
458185576refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
458455236refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
458617920refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
459912604refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
459983672refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
460496496refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
460512636refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
461276208refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
461420528refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
461794052refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
463016564refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
463239156refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
464736032refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
467280452refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
467295388refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
467356444refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
467676928refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
470788024refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
470789996refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
470962728refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
471571952refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
471573200refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
473165896refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
473537888refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
474647872refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
474845604refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
474929728refgcc -m32 -Os -fomit-frame-pointer2019080820190803
474964952refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
475121356refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
475204868refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
475272140refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
475280764refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
475393680refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
475491868refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
475585580refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
476217168refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
477534336refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
478424620refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
479004956refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
479342224refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
481273688refgcc -m32 -O -fomit-frame-pointer2019080820190803
482133996refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
482970544refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
483001964refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
483092740refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
483172772refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
483581068refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
483593680refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
483597724refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
483757588refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
483795780refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
483896596refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
484388960refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
484565984refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
484856452refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
484940256refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
486359532refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
490216272refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
490401628refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
490522104refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
490615432refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
490969024refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
492186856refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
492288900refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
494020692refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
494149272refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
494741944refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
497972604refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
500164768refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
500171752refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
501665052refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
502103384refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
502117200refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
502258356refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
503602264refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
504205896refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
508278724refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
511424216refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
518478716refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
520721868refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
521147820refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803

Compiler output

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

Number of similar (compiler,implementation) pairs: 156, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx2
gcc -m32 -O2 -fomit-frame-pointer avx2
gcc -m32 -O3 -fomit-frame-pointer avx2
gcc -m32 -O -fomit-frame-pointer avx2
gcc -m32 -Os -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx2

Compiler output

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

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_sign/sphincsf128sha256robust/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:34:12: note: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: sha256avx.c:33:12: note: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:5:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer avx2