Implementation notes: x86, rumba5, crypto_sign/sphincss256shake256

Computer: rumba5
Architecture: x86
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincss256shake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
11018502368avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018091320180818
11356541920avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018091320180818
17660313152avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018091320180818
17818551744avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018091320180818
17891239360avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018091320180818
17942767680avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018091320180818
17954776064avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018091320180818
18070960864avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018091320180818
50269187840refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018091320180818
50601629344refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018091320180818
53326929632refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018091320180818
53521892896refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018091320180818
53595184576refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018091320180818
53702450528refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018091320180818
53712137504refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018091320180818
53758215136refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018091320180818
53770205472refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018091320180818
54125624768refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018091320180818
54223262176refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018091420180818
54422225536refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018091420180818
54424893568refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018091420180818
54432236576refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018091320180818
54436618080refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018091420180818
54541745536refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018091420180818
54648812480refgcc -m32 -O3 -fomit-frame-pointer2018091320180818
54941860992refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018091420180818
54944666080refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018091420180818
55038797984refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018091420180818
55175916960refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018091420180818
55426828288refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018091420180818
55511644832refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018091420180818
55522290976refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018091420180818
55531960128refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018091420180818
55641498880refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018091420180818
55907504736refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018091420180818
56084897568refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018091420180818
56198839552refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018091420180818
56572830240refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018091420180818
56625269216refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018091420180818
56717653824refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018091420180818
56972228768refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018091420180818
57107745664refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018091420180818
57153596128refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018091420180818
57220197056refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018091420180818
57294150080refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018091420180818
58057971456refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018091420180818
58059921664refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018091420180818
58060248864refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018091420180818
58242513600refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018091420180818
58263060576refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018091420180818
58277582016refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018091420180818
58325831168refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018091420180818
58513955872refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018091420180818
58734373664refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018091420180818
58764788896refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018091320180818
58836698368refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018091420180818
58848235456refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018091420180818
58895059968refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018091420180818
58938103008refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018091320180818
59084323488refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018091420180818
59100569888refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018091420180818
59120241408refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018091420180818
59151782784refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018091420180818
59338787840refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018091320180818
59384927392refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018091420180818
59403266944refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018091420180818
59424542368refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018091420180818
59824393472refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018091420180818
59829750368refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018091420180818
59876803392refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018091420180818
59877302752refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018091420180818
59958068832refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018091420180818
59997131616refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018091420180818
60032850912refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018091420180818
60040113440refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018091420180818
60343767168refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018091420180818
60365676736refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018091420180818
60371348480refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018091420180818
60425618624refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018091420180818
60427248352refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018091420180818
60498491488refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018091420180818
60543157664refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018091420180818
60686512512refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018091320180818
60715653408refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018091420180818
60725651648refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018091420180818
60987304896refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018091420180818
60994084160refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018091420180818
61061108960refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018091420180818
61129800960refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018091420180818
61169709408refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018091420180818
61179438880refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018091420180818
61340653792refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018091420180818
61403206400refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018091420180818
61765125152refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018091320180818
61929033920refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018091420180818
62006957504refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018091420180818
62018045664refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018091420180818
62097210912refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018091420180818
62113245504refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018091420180818
62130376640refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018091420180818
62163877536refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018091420180818
62247066720refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018091420180818
62267343840refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018091420180818
62269397664refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018091420180818
62440688992refgcc -m32 -O -fomit-frame-pointer2018091320180818
62765319008refgcc -m32 -march=k8 -O -fomit-frame-pointer2018091320180818
62798276992refgcc -m32 -march=athlon -O -fomit-frame-pointer2018091320180818
62946969792refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018091320180818
62979865376refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018091420180818
62981950208refgcc -m32 -march=prescott -O -fomit-frame-pointer2018091420180818
63019651808refgcc -m32 -march=nocona -O -fomit-frame-pointer2018091420180818
63087607584refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018091420180818
63087987872refgcc -m32 -march=k6 -O -fomit-frame-pointer2018091420180818
63255480384refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018091320180818
63258848320refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018091320180818
63262370592refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018091420180818
63351258784refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018091320180818
63403477728refgcc -m32 -march=core2 -O -fomit-frame-pointer2018091320180818
63450074240refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018091420180818
63542423520refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018091420180818
63652390624refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018091420180818
63655653600refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018091420180818
63661356256refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018091420180818
63668333728refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018091420180818
63677304576refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018091420180818
63722782528refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018091420180818
63879413824refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018091420180818
63897323392refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018091420180818
63944987072refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018091420180818
64041711104refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018091420180818
64094723616refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018091420180818
64102911296refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018091420180818
64141692128refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018091320180818
64143572512refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018091320180818
64173127648refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018091320180818
64191023712refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018091320180818
64205122464refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018091420180818
64213827040refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018091420180818
64233879776refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018091420180818
64282395008refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018091320180818
64288671328refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018091420180818
64347499424refgcc -m32 -march=i486 -O -fomit-frame-pointer2018091420180818
64354781120refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018091320180818
64357129632refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018091320180818
64374069344refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018091420180818
64408443136refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018091320180818
64410405792refgcc -m32 -march=i386 -O -fomit-frame-pointer2018091420180818
64550897472refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018091420180818
64772726304refgcc -m32 -march=pentium -O -fomit-frame-pointer2018091420180818
64822646816refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018091420180818
64944801728refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018091420180818
64996843040refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018091420180818
65021059744refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018091420180818
65032379008refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018091420180818
65035675584refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018091420180818
65103476000refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018091420180818
65635551264refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018091420180818
65762960864refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018091320180818
65771123680refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018091420180818
66649123296refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018091320180818
66764530528refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018091420180818
67055471904refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018091320180818
67760906464refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018091320180818
67822256128refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018091420180818
67974371168refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018091320180818
68118079424refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018091320180818
68121756000refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018091320180818
68223246816refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018091420180818
68606754176refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018091420180818
68790489888refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018091320180818
68870153152refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018091320180818
68873765472refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018091320180818
68972992864refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018091420180818
69095792448refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018091320180818
69127788544refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018091320180818
69139680832refgcc -m32 -O2 -fomit-frame-pointer2018091320180818
69387024960refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018091420180818
69474808384refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018091420180818
69775276864refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018091420180818
69777112448refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018091420180818
69852844736refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018091420180818
69872726240refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018091420180818
69942778848refgcc -m32 -Os -fomit-frame-pointer2018091320180818
73689992480refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018091320180818

Compiler output

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