Implementation notes: x86, samba, crypto_sign/sphincsf192sha256simple

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf192sha256simple
TimeImplementationCompilerBenchmark dateSUPERCOP version
102625081avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
102771322avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
105097040avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
105674127avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
106499028avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
107549107avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
141478974avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
143819810avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
237828502refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
238273026refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
245128607refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
245176369refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
271373847refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
271417607refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
292398666refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
292412960refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
292437183refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
297037970refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
297184299refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
297277183refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
297375897refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
301051717refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
301101096refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
301130524refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
301156919refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
301890508refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
302520068refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
302778331refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
302931080refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
303083583refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
303170468refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
303299756refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
303418282refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
303749854refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
303821161refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
303836437refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
304337371refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
304755790refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
304993556refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
305053157refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
305069990refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
305069996refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
306220885refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
307026944refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
307088835refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
307796625refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
307860951refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
308219702refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
308445399refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
309291085refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
309558741refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
309569593refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
309799188refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
310228593refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
310416288refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
310479756refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
310563369refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
311368748refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
311379526refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
311383847refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
311416464refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
311717631refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
311832490refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
311900151refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
312058009refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
312180149refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
312184742refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
312254161refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
312257654refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
313120972refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
313347849refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
313597673refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
313774410refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
314856477refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
315570826refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
315595155refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
316285049refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
317247122refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
318108470refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
318266542refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
318731734refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
319645901refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
319784401refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
319859515refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
319874715refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
320264206refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
320691855refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
320786451refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
320806887refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
320817057refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
320873420refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
320877512refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
320882935refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
320913917refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
321945881refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
322256355refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
323855466refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
323975698refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
324004820refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
324110000refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
324116203refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
324265119refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
324270972refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
324365623refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
324545337refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
324711578refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
325615274refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
325624561refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
325755893refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
326207986refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
326401811refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
326623210refgcc -m32 -O -fomit-frame-pointer2019080820190803
327138123refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
327703670refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
328271087refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
328309657refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
328788206refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
329581174refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
329585248refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
329597268refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
329692055refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
331113826refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
331425509refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
331431582refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
331433924refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
331458419refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
331573297refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
331661498refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
331934282refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
333513037refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
333529865refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
334338080refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
335378183refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
335485204refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
335775518refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
335827125refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
336000673refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
336660453refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
337334898refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
339463996refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
340382936refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
340495520refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
341026369refgcc -m32 -Os -fomit-frame-pointer2019080820190803
341241980refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
341254191refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
341265660refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
341633502refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
341661179refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
341701529refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
342199922refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
342224787refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
342272308refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
342558510refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
343672578refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
343731942refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
344380486refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
344435633refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
344456659refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
344879919refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
344926392refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
345245278refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
345276386refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
347522579refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
350261823refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
350959065refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
351113645refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
351573918refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
352505931refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
352522810refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
353447962refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
353452537refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
353466215refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
354020728refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
355980595refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
356594171refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
356755291refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
356859048refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
357754022refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
358034581refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
358109488refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
361746714refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
361945990refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
362001226refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
363000390refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803

Compiler output

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