Implementation notes: x86, titan0, crypto_sign/sphincsf256sha256robust

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: sphincsf256sha256robust
TimeImplementationCompilerBenchmark dateSUPERCOP version
707082328avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080920190803
708620376avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080920190803
728195368avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080920190803
729505068avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080920190803
789094276avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080920190803
792011004avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080920190803
892270628avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080920190803
896961560avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080920190803
1375428572refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080920190803
1377116368refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080920190803
1496919084refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080920190803
1496980908refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080920190803
1620079200refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080920190803
1620217372refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080920190803
1704244720refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080920190803
1704310712refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080920190803
1717258320refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080920190803
1721983852refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080920190803
1728862524refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080920190803
1729159748refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080920190803
1729582164refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080920190803
1730081084refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080920190803
1731163756refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080920190803
1731447648refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080920190803
1731966100refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080920190803
1734474824refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080920190803
1734919508refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080920190803
1735214964refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080920190803
1735588848refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080920190803
1735719720refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080920190803
1736337856refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080920190803
1737677240refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080920190803
1738022000refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080920190803
1738233512refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080920190803
1738635588refgcc -m32 -O3 -fomit-frame-pointer2019080920190803
1739156268refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080920190803
1740234204refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080920190803
1748488624refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080920190803
1748733484refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080920190803
1750869712refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080920190803
1751161260refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080920190803
1751837752refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080920190803
1754601096refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080920190803
1771888496refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080920190803
1774725512refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080920190803
1778120568refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080920190803
1780343652refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080920190803
1781502560refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080920190803
1783043680refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080920190803
1784133216refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080920190803
1786275676refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080920190803
1786719784refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080920190803
1787757484refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080920190803
1789270716refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080920190803
1796957224refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080920190803
1805045572refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080920190803
1808177152refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080920190803
1808848600refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080920190803
1809816248refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080920190803
1811255260refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080920190803
1811475112refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080920190803
1813365708refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080920190803
1813967400refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080920190803
1815517880refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080920190803
1815922660refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080920190803
1821060432refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080920190803
1821814524refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080920190803
1821905460refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080920190803
1822211536refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080920190803
1827175128refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080920190803
1829222852refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080920190803
1830742332refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080920190803
1830819996refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080920190803
1831715144refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080920190803
1831958040refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080920190803
1835048080refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080920190803
1835575236refgcc -m32 -O2 -fomit-frame-pointer2019080920190803
1837317980refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080920190803
1838483108refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080920190803
1839546508refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080920190803
1844429352refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080920190803
1850642008refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080920190803
1850753360refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080920190803
1850788564refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080920190803
1852457924refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080920190803
1854945600refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080920190803
1855319928refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080920190803
1855378300refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080920190803
1855507416refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080920190803
1856531268refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080920190803
1857146396refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080920190803
1858045548refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080920190803
1858279064refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080920190803
1863311308refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080920190803
1863638416refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080920190803
1869293708refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080920190803
1869532112refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080920190803
1870291944refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080920190803
1870409396refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080920190803
1883617196refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080920190803
1887150008refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080920190803
1895292904refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080920190803
1896863904refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080920190803
1897062088refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080920190803
1898558152refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080920190803
1899688892refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080920190803
1904212052refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080920190803
1907122256refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080920190803
1918594440refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080920190803
1918968780refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080920190803
1918984276refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080920190803
1919049944refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080920190803
1922030824refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080920190803
1922085360refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080920190803
1922208656refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080920190803
1922661456refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080920190803
1923415656refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080920190803
1923962856refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080920190803
1924285904refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080920190803
1924399244refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080920190803
1929378296refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080920190803
1929828488refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080920190803
1930029868refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080920190803
1930231284refgcc -m32 -O -fomit-frame-pointer2019080920190803
1931154596refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080920190803
1932749680refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080920190803
1934519320refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080920190803
1934733420refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080920190803
1934941868refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080920190803
1935224432refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080920190803
1935382112refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080920190803
1935490792refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080920190803
1935565940refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080920190803
1936204716refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080920190803
1936273956refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080920190803
1942559376refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080920190803
1944386264refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080920190803
1946195932refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080920190803
1947009300refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080920190803
1947679016refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080920190803
1951290800refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080920190803
1951549872refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080920190803
1952282168refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080920190803
1953315604refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080920190803
1956406380refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080920190803
1957212704refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080920190803
1958245416refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080920190803
1958813732refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080920190803
1958935944refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080920190803
1960236448refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080920190803
1960490632refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080920190803
1960837324refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080920190803
1971289000refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080920190803
1971346628refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080920190803
1971419448refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080920190803
1971670560refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080920190803
1971816128refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080920190803
1972200748refgcc -m32 -Os -fomit-frame-pointer2019080920190803
1972789760refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080920190803
1973618264refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080920190803
1973972568refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080920190803
1975274936refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080920190803
1979188516refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080920190803
1983984444refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080920190803
1984247096refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080920190803
1984559356refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080920190803
1995428324refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080920190803
1996310324refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080920190803
1999116072refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080920190803
2009072112refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080920190803
2009374148refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080920190803
2025019420refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080920190803
2032830036refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080920190803
2033457672refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080920190803
2033949216refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080920190803
2037024512refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080920190803
2047875660refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080920190803
2049887836refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080920190803
2051448436refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080920190803
2054810640refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080920190803
2064884428refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080920190803
2076720680refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080920190803
2107598596refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080920190803
2109662596refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080920190803

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