Implementation notes: x86, titan0, crypto_sign/sphincsf128sha256simple

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf128sha256simple
TimeImplementationCompilerBenchmark dateSUPERCOP version
78169376avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
78195568avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
81078432avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
81639236avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
86455112avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
87521636avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
112331988avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
113366004avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
184581588refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
184858916refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
194603296refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
194648488refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
212671544refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
212917440refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
225013268refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
225221308refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
225593324refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
227136608refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
227337948refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
227377840refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
229334588refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
229528344refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
229668212refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
229864132refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
229911820refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
230387308refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
230413184refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
230931572refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
231564332refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
233145652refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
233281960refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
233307972refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
233346576refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
233434936refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
234889536refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
234998404refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
235189820refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
235451580refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
235466984refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
235963584refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
236037760refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
236211564refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
236938544refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
237092024refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
237176536refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
237341576refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
237627576refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
237684468refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
237778172refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
237790152refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
237821580refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
237875284refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
238069628refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
238945056refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
239032504refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
239190260refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
239870796refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
239880104refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
239929192refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
239958556refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
240042352refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
240047648refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
240352860refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
240496248refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
241005816refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
241028476refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
241098504refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
241686568refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
241993980refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
242170952refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
242221852refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
242275880refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
242284424refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
242787004refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
242891044refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
242919020refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
243189184refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
243233544refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
243344232refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
244074344refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
244834860refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
244878412refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
244913696refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
244923924refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
244948092refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
245093084refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
245116348refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
245366272refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
245453112refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
245484460refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
246276268refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
246442260refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
246623004refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
246779892refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
246927540refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
246983248refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
247167456refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
247353620refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
247723940refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
247730312refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
247866112refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
248007284refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
248090028refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
248306648refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
248870100refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
248937916refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
248962028refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
249071272refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
249087880refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
249151564refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
249206296refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
250165952refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
250243148refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
250634448refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
250913188refgcc -m32 -O -fomit-frame-pointer2019080820190803
251024432refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
251052312refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
251348572refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
251753772refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
251760040refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
251802668refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
252232672refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
252302936refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
253256752refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
253270468refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
253767020refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
254084956refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
254104328refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
254122676refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
254499604refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
254889780refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
255037824refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
255056676refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
255848560refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
256383592refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
256494388refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
256499928refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
257569424refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
257822060refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
257824220refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
258177184refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
258263928refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
258518044refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
258831988refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
259090540refgcc -m32 -Os -fomit-frame-pointer2019080820190803
259103968refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
259433900refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
259548356refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
259601232refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
259682012refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
259935880refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
260752132refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
260764464refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
260834108refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
261486376refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
262660800refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
263784864refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
264472416refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
264839508refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
265428408refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
265497764refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
265637804refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
265779028refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
266723668refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
266726124refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
266841544refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
266929072refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
267103812refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
267377924refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
271991872refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
272066780refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
272152604refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
272717604refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
273055604refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
273074344refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
276321628refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
277227536refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
277683900refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
277847424refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
278229852refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
279244176refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
281834528refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
288669084refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
288901208refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803

Compiler output

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