Implementation notes: x86, samba, crypto_sign/sphincsf256sha256robust

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf256sha256robust
TimeImplementationCompilerBenchmark dateSUPERCOP version
679010746avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
679157549avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
686800193avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
689204564avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
696446861avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
698650466avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
839806010avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
846887720avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
1324728411refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080820190803
1325142667refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080820190803
1441877113refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080820190803
1444082762refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080820190803
1576763274refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080820190803
1581646526refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080820190803
1679948730refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
1682202079refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080820190803
1686781553refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
1696846790refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
1699371544refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
1699443601refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
1706078430refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
1706192190refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
1708689784refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
1709240271refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
1710530220refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080820190803
1710842912refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080820190803
1713770500refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
1717924536refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
1718110746refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
1720185214refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
1720418625refgcc -m32 -O3 -fomit-frame-pointer2019080820190803
1721856669refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080820190803
1721953207refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080820190803
1722803526refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080820190803
1726253955refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080820190803
1729641557refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080820190803
1729695429refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080820190803
1733251446refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080820190803
1733333718refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080820190803
1734536243refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080820190803
1734570817refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080820190803
1738925599refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
1740028772refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080820190803
1745978857refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080820190803
1746058498refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080820190803
1748095923refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080820190803
1748387272refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080820190803
1749644604refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
1758117363refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
1759004809refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
1759905806refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080820190803
1761876784refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
1764673818refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
1764740197refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
1764847807refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
1768290725refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080820190803
1770262058refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
1770269919refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
1777709335refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080820190803
1788894240refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
1789172907refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
1789272909refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
1789281333refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
1789559044refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
1791866012refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
1791884657refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
1791939972refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
1797479212refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080820190803
1798184761refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080820190803
1798722631refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080820190803
1800125293refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080820190803
1800613914refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
1802207530refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080820190803
1802485183refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080820190803
1805988030refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080820190803
1806008990refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080820190803
1807124375refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080820190803
1808210256refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080820190803
1810355679refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080820190803
1813886909refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080820190803
1815684611refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080820190803
1818248523refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080820190803
1822037537refgcc -m32 -O2 -fomit-frame-pointer2019080820190803
1823223661refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080820190803
1831145631refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080820190803
1831224748refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080820190803
1831289671refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080820190803
1838717917refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
1838831086refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
1840254179refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080820190803
1840318825refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080820190803
1841309115refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
1841332062refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
1841415687refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
1841587307refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
1843529222refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
1848484345refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080820190803
1852472889refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
1852812335refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
1852847072refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080820190803
1856149083refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
1857257790refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080820190803
1859031154refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080820190803
1859317463refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080820190803
1867161465refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080820190803
1868365705refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
1873844868refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080820190803
1876987650refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
1885244737refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080820190803
1885273992refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080820190803
1886578976refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080820190803
1896710158refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
1898143621refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
1898295140refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
1904920696refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
1905038508refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
1905157032refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
1907381264refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
1911159465refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
1912605972refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
1913130842refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080820190803
1913297128refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
1913375391refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080820190803
1913551125refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080820190803
1918630411refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
1922019267refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
1922115637refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080820190803
1922653794refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
1922729889refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
1923200926refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
1923975466refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080820190803
1924008660refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
1924015335refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080820190803
1924081466refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
1924222690refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080820190803
1924366355refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080820190803
1924385744refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080820190803
1924469272refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080820190803
1924684987refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
1927222780refgcc -m32 -O -fomit-frame-pointer2019080820190803
1927590726refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080820190803
1929188551refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080820190803
1936560520refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080820190803
1942549514refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080820190803
1944876416refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080820190803
1944962896refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080820190803
1945061837refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080820190803
1947626194refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080820190803
1947860220refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080820190803
1947946713refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080820190803
1948014202refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080820190803
1949140972refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080820190803
1952250041refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080820190803
1952260897refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080820190803
1952279635refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080820190803
1954802072refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
1955164956refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
1955927546refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
1956822484refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080820190803
1957148657refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080820190803
1957199355refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080820190803
1957211484refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080820190803
1957581246refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080820190803
1958094373refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080820190803
1958207090refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080820190803
1961626837refgcc -m32 -Os -fomit-frame-pointer2019080820190803
1966969264refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080820190803
1968172151refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080820190803
1982725030refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
1985368341refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080820190803
1985376908refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080820190803
1991034295refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080820190803
1993535283refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
1997636347refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080820190803
2000384095refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080820190803
2000411067refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080820190803
2001316508refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080820190803
2007084220refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080820190803
2016137744refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080820190803
2017255756refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080820190803
2026272640refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803
2027351153refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080820190803
2027576750refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080820190803
2033454798refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080820190803

Compiler output

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