Implementation notes: x86, titan0, crypto_sign/sphincsf192sha256simple

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf192sha256simple
TimeImplementationCompilerBenchmark dateSUPERCOP version
106867848avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
107120936avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
110806820avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
111305788avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
115066204avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
116628976avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
155490796avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
156636312avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
245612352refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
245796276refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
255990332refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
256393340refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
276432944refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
276968156refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
296966212refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
298538980refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
298788568refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
302339524refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
302363228refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
302777376refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
304641636refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
304982216refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
305860076refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
305964572refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
306032656refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
306117124refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
306117292refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
306168772refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
308910140refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
309110788refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
309631632refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
309760908refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
309761744refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
309832088refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
309889552refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
309898184refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
310058452refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
310248112refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
310260792refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
310514628refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
310680232refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
311743412refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
312217932refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
312876148refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
313671308refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
314062512refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
314179080refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
314227732refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
314279504refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
314369292refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
314418456refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
314722892refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
315044720refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
315084356refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
315163744refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
315203832refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
315360360refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
315581692refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
315646680refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
315743488refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
316487712refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
317013020refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
317701164refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
317979044refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
318225192refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
318239328refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
318292368refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
318365064refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
318696964refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
318716332refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
318751744refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
319114204refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
319901476refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
320193636refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
320221264refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
320254012refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
320381832refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
320740568refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
320752828refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
320862564refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
321918236refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
322416616refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
322641504refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
322796456refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
323852616refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
323938764refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
324711808refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
324842112refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
324852432refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
324879444refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
325063392refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
326748544refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
326788652refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
327017680refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
327145580refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
327364620refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
327421732refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
327425716refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
327491744refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
327514148refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
327854484refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
327893552refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
328027076refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
328458972refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
328809400refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
329115284refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
329226460refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
329528432refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
329815024refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
329835176refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
329982432refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
329987108refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
330092484refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
330726720refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
330766508refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
330770432refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
330874676refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
331390880refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
331469748refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
331518808refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
331796128refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
331957484refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
332030920refgcc -m32 -O -fomit-frame-pointer2019080820190803
332243448refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
334456836refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
334524144refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
334574092refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
335162088refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
335277904refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
335376380refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
335814176refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
335831840refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
336507904refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
336863812refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
337254456refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
337519152refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
337696288refgcc -m32 -Os -fomit-frame-pointer2019080820190803
337727320refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
338481056refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
338492768refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
339170824refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
341234584refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
341283240refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
341398568refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
341414724refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
341696504refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
341778540refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
341913096refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
346810632refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
347039508refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
348316288refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
348368172refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
348392712refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
349061372refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
349186204refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
349785540refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
349849940refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
350048052refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
350738108refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
350908216refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
352304760refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
352528744refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
355218244refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
355531028refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
356239492refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
356284520refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
356399804refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
356449808refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
356501304refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
356582096refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
356626308refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
356635732refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
356844696refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
357754076refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
358293012refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
361637100refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
361785260refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
362310096refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
363432184refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
366084504refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
366734748refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
371994732refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
380314240refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
380553572refgcc -m32 -march=native -mtune=native -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