Implementation notes: x86, samba, crypto_sign/sphincsf128sha256simple

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf128sha256simple
TimeImplementationCompilerBenchmark dateSUPERCOP version
75108250avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
75448300avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
76165601avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
77194407avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
77374258avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
79931686avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
105754048avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
107264987avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
179067922refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
179284537refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
186219410refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
186513496refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
207680994refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
207946619refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
219215042refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
220938473refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
221171236refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
222897589refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
223142133refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
223171529refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
224595174refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
226040180refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
226870994refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
226978860refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
227771008refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
227917526refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
227940421refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
228730301refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
228778643refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
229679425refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
229698218refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
229731399refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
229803065refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
229820703refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
229843206refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
229921375refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
229954579refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
230080694refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
230222869refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
230696422refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
230883968refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
230929803refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
231930984refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
231996990refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
232480690refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
232494863refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
232556603refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
233176344refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
233468202refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
233555779refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
233613613refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
233813019refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
233994319refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
234686371refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
234714877refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
235025166refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
235390543refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
235396972refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
235592617refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
235612062refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
235843391refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
235883748refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
235959764refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
236171010refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
236921706refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
237029760refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
237117042refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
237118038refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
237153393refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
237533857refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
237723129refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
237767901refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
237780560refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
237806341refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
239052137refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
239209452refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
239325595refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
239452941refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
239910574refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
240011550refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
240128163refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
240229331refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
240273405refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
240393742refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
241698911refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
241703957refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
241716609refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
241750240refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
241790790refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
241843881refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
242365189refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
242695484refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
243369219refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
243513721refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
243956776refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
244087250refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
244399323refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
244412111refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
244422113refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
244429821refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
244434712refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
245239268refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
245270089refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
245399262refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
245508837refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
245859450refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
246231446refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
246233724refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
246380264refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
246523547refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
246566821refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
246604475refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
247157677refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
247177962refgcc -m32 -O -fomit-frame-pointer2019080820190803
247971194refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
248007058refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
248303821refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
249149893refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
249169472refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
249228958refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
249290774refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
250791675refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
250792951refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
250924486refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
251063792refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
251213311refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
251220708refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
251959339refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
252028360refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
252070730refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
252072198refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
252097585refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
252678908refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
253919384refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
254828177refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
255594093refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
255750272refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
255852627refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
255908591refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
257219526refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
257981504refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
257990564refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
258146021refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
258146129refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
258151157refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
258179039refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
258206921refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
258746869refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
258765972refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
259040712refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
259275100refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
259277301refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
259290135refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
259326798refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
261341579refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
261342000refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
261358187refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
263018464refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
263983605refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
264013821refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
264189885refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
264297029refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
264369957refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
264378998refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
265619976refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
265771510refgcc -m32 -Os -fomit-frame-pointer2019080820190803
266388649refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
266399276refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
266407313refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
267307446refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
268155082refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
269506978refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
269900861refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
270355145refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
270453806refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
272163323refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
272688075refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
273602700refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
274393187refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
276683416refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
277679685refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
281928334refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
281950453refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
282071645refgcc -m32 -march=core2 -msse4 -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