Implementation notes: x86, bolero, crypto_sign/sphincsf128shake256

Computer: bolero
Architecture: x86
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincsf128shake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
440087736avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018091820180818
440483508avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018091820180818
642462016avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018091820180818
642993424avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018091820180818
678664076avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018091820180818
679415940avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018091820180818
685662208avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018091820180818
693067404avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018091820180818
1673274904refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018091820180818
1673688044refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018091820180818
1804855800refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018091820180818
1808878260refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018091820180818
1809066884refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018091820180818
1810403308refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018091820180818
1810812796refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018091820180818
1811809652refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018091820180818
1814033764refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018091820180818
1814231252refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018091820180818
1822354116refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018091820180818
1824340568refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018091820180818
1824725980refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018091820180818
1825091688refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018091820180818
1827276520refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018091820180818
1827626948refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018091820180818
1832829456refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018091820180818
1835074524refgcc -m32 -O3 -fomit-frame-pointer2018091820180818
1835369604refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018091820180818
1835507452refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018091820180818
1841628476refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018091820180818
1847921540refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018091820180818
1848466080refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018091820180818
1848618796refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018091820180818
1849316148refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018091820180818
1851411604refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018091820180818
1855885944refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018091820180818
1856862808refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018091820180818
1924334220refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018091820180818
1926052208refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018091820180818
1926178788refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018091820180818
1938984900refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018091820180818
1939261252refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018091820180818
1952299652refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018091820180818
1964417444refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018091820180818
1965103052refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018091820180818
1982915516refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018091820180818
1990119660refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018091820180818
1990465232refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018091820180818
1991023028refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018091820180818
1995870504refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018091820180818
1998498736refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018091820180818
1999014356refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018091820180818
1999383096refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018091820180818
2000706272refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018091820180818
2005969880refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018091820180818
2008143376refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018091820180818
2008267960refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018091820180818
2009351712refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018091820180818
2020106128refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018091820180818
2020297372refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018091820180818
2023839844refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018091820180818
2024020176refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018091820180818
2027053420refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018091820180818
2031157764refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018091820180818
2033755460refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018091820180818
2035489300refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018091820180818
2037946064refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018091820180818
2044603300refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018091820180818
2051829704refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018091820180818
2051891040refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018091820180818
2052213928refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018091820180818
2060533736refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018091820180818
2062049396refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018091820180818
2062174616refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018091820180818
2062808996refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018091820180818
2065748760refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018091820180818
2066543436refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018091820180818
2067948860refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018091820180818
2071036212refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018091820180818
2076282696refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018091820180818
2077397740refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018091820180818
2086446480refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018091820180818
2087558684refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018091820180818
2087730212refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018091820180818
2087775604refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018091820180818
2087905388refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018091820180818
2088149796refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018091820180818
2088185572refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018091820180818
2088338412refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018091820180818
2088697584refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018091820180818
2089660300refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018091820180818
2090271952refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018091820180818
2091069480refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018091820180818
2093418624refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018091820180818
2094198052refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018091820180818
2095093892refgcc -m32 -Os -fomit-frame-pointer2018091820180818
2096825568refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018091820180818
2101840868refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018091820180818
2102761340refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018091820180818
2102837376refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018091820180818
2114734356refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018091820180818
2114734976refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018091820180818
2115005372refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018091820180818
2115282420refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018091820180818
2115470984refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018091820180818
2116496300refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018091820180818
2116586864refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018091820180818
2116717064refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018091820180818
2116800296refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018091820180818
2119459380refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018091820180818
2119736652refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018091820180818
2120186896refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018091820180818
2123997076refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018091820180818
2125923100refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018091820180818
2131006396refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018091820180818
2131451616refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018091820180818
2137964292refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018091820180818
2140769604refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018091820180818
2141051012refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018091820180818
2141207584refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018091820180818
2147233824refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018091820180818
2155834176refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018091820180818
2156320952refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018091820180818
2156673144refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018091820180818
2157231296refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018091820180818
2157281460refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018091820180818
2168055996refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018091820180818
2173848128refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018091820180818
2174062272refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018091820180818
2175303092refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018091820180818
2178011900refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018091820180818
2179705256refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018091820180818
2180854272refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018091820180818
2182221764refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018091820180818
2182264472refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018091820180818
2183684852refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018091820180818
2183879356refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018091820180818
2184256824refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018091820180818
2189641132refgcc -m32 -march=core2 -O -fomit-frame-pointer2018091820180818
2189677132refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018091820180818
2189700324refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018091820180818
2189753056refgcc -m32 -march=k6 -O -fomit-frame-pointer2018091820180818
2190177148refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018091820180818
2192292540refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018091820180818
2196265772refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018091820180818
2196384868refgcc -m32 -O -fomit-frame-pointer2018091820180818
2200215396refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018091820180818
2201272012refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018091820180818
2202430712refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018091820180818
2210154028refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018091820180818
2212449700refgcc -m32 -O2 -fomit-frame-pointer2018091820180818
2213947384refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018091820180818
2214653024refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018091820180818
2216823536refgcc -m32 -march=athlon -O -fomit-frame-pointer2018091820180818
2228668444refgcc -m32 -march=k8 -O -fomit-frame-pointer2018091820180818
2228808900refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018091820180818
2243702668refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018091820180818
2243735708refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018091820180818
2244905240refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018091820180818
2256828432refgcc -m32 -march=prescott -O -fomit-frame-pointer2018091820180818
2259678976refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018091820180818
2260514548refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018091820180818
2263077288refgcc -m32 -march=nocona -O -fomit-frame-pointer2018091820180818
2271005948refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018091820180818
2274346444refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018091820180818
2274465948refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018091820180818
2277359432refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018091820180818
2288425708refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018091820180818
2310410328refgcc -m32 -march=i386 -O -fomit-frame-pointer2018091820180818
2316093604refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018091820180818
2317243676refgcc -m32 -march=i486 -O -fomit-frame-pointer2018091820180818
2318534612refgcc -m32 -march=pentium -O -fomit-frame-pointer2018091820180818
2320494728refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018091820180818
2323207604refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018091820180818
2330998936refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018091820180818
2331371384refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018091820180818
2331547204refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018091820180818
2331739908refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018091820180818
2339305276refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018091820180818
2340345476refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018091820180818
2354509212refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018091820180818
2467750624refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018091820180818
2467964552refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018091820180818
2468772224refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018091820180818
2469708676refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018091820180818

Compiler output

Implementation: crypto_sign/sphincsf128shake256/avx2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:40: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.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/sphincsf128shake256/avx2
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:40: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ...
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:40: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.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/sphincsf128shake256/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:142:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+2], lanes2 ),\
KeccakP-1600-times4-SIMD256.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