Implementation notes: x86, bolero, crypto_sign/sphincsf256shake256

Computer: bolero
Architecture: x86
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincsf256shake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
1109463204avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018092020180818
1109479588avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018092020180818
1707134168avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018092020180818
1707661376avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018092020180818
1753579932avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018092020180818
1775470940avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018092020180818
1798445432avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018092020180818
1799797132avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018092020180818
4667893692refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018092020180818
4668031996refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018092020180818
5041694300refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018092020180818
5046816760refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018092020180818
5049692220refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018092020180818
5050200712refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018092020180818
5050886020refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018092020180818
5052855252refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018092020180818
5058106616refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018092020180818
5063458732refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018092020180818
5064993348refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018092020180818
5078682720refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018092020180818
5083816428refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018092020180818
5093819176refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018092020180818
5094143464refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018092020180818
5099464676refgcc -m32 -O3 -fomit-frame-pointer2018092020180818
5106474864refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018092020180818
5107452104refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018092020180818
5109984304refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018092020180818
5117087324refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018092020180818
5119797548refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018092020180818
5120975828refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018092020180818
5138329632refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018092020180818
5143259624refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018092020180818
5146190952refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018092020180818
5162304112refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018092020180818
5167721792refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018092020180818
5169143284refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018092020180818
5320823020refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018092020180818
5357412684refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018092020180818
5367778208refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018092020180818
5429690508refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018092020180818
5474068384refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018092020180818
5475215540refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018092020180818
5556920088refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018092020180818
5594960976refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018092020180818
5595131064refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018092020180818
5596581924refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018092020180818
5597727868refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018092020180818
5598503032refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018092020180818
5603502828refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018092020180818
5604580976refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018092020180818
5606649328refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018092020180818
5608211312refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018092020180818
5617848312refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018092020180818
5619186864refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018092020180818
5622656840refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018092020180818
5623259968refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018092020180818
5625146260refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018092020180818
5627961668refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018092020180818
5633568072refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018092020180818
5634318944refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018092020180818
5653992884refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018092020180818
5674297448refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018092020180818
5675824164refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018092020180818
5681701440refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018092020180818
5687510420refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018092020180818
5710042652refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018092020180818
5719720808refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018092020180818
5731636792refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018092020180818
5759909392refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018092020180818
5762530660refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018092020180818
5763732516refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018092020180818
5767704192refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018092020180818
5768503776refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018092020180818
5771995200refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018092020180818
5772170364refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018092020180818
5772473132refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018092020180818
5793143984refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018092020180818
5821622952refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018092020180818
5825815936refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018092020180818
5825939484refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018092020180818
5826181920refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018092020180818
5826475612refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018092020180818
5829926632refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018092020180818
5831327696refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018092020180818
5835170664refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018092020180818
5837353932refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018092020180818
5838156184refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018092020180818
5841540212refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018092020180818
5842641156refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018092020180818
5843163476refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018092020180818
5847554412refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018092020180818
5848941240refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018092020180818
5849139932refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018092020180818
5852677472refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018092020180818
5852929944refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018092020180818
5853319736refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018092020180818
5872483744refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018092020180818
5872637280refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018092020180818
5892682440refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018092020180818
5898616012refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018092020180818
5905643092refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018092020180818
5910771792refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018092020180818
5915386700refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018092020180818
5920721656refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018092020180818
5929288156refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018092020180818
5933189420refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018092020180818
5934046908refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018092020180818
5936661432refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018092020180818
5950822336refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018092020180818
5972522904refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018092020180818
5988723028refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018092020180818
6028580844refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018092020180818
6038908908refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018092020180818
6040914688refgcc -m32 -Os -fomit-frame-pointer2018092020180818
6059879736refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018092020180818
6060205984refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018092020180818
6071487956refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018092020180818
6072542516refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018092020180818
6073062636refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018092020180818
6075069380refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018092020180818
6079373000refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018092020180818
6081418280refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018092020180818
6084386604refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018092020180818
6099040224refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018092020180818
6103422664refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018092020180818
6104816336refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018092020180818
6107691524refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018092020180818
6112167452refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018092020180818
6112227892refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018092020180818
6113673240refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018092020180818
6116274792refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018092020180818
6121304544refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018092020180818
6122590104refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018092020180818
6125331472refgcc -m32 -O -fomit-frame-pointer2018092020180818
6138556464refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018092020180818
6142569704refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018092020180818
6144880372refgcc -m32 -O2 -fomit-frame-pointer2018092020180818
6149686180refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018092020180818
6150572680refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018092020180818
6174834088refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018092020180818
6177988468refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018092020180818
6197693708refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018092020180818
6198028304refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018092020180818
6200380464refgcc -m32 -march=k6 -O -fomit-frame-pointer2018092020180818
6200613464refgcc -m32 -march=athlon -O -fomit-frame-pointer2018092020180818
6203252868refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018092020180818
6203263144refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018092020180818
6204052576refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018092020180818
6209645360refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018092020180818
6210466764refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018092020180818
6216182720refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018092020180818
6218464088refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018092020180818
6228753780refgcc -m32 -march=k8 -O -fomit-frame-pointer2018092020180818
6241681796refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018092020180818
6244223240refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018092020180818
6245378640refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018092020180818
6246524860refgcc -m32 -march=core2 -O -fomit-frame-pointer2018092020180818
6278569888refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018092020180818
6282703416refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018092020180818
6302631576refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018092020180818
6308435280refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018092020180818
6318610860refgcc -m32 -march=prescott -O -fomit-frame-pointer2018092020180818
6321384688refgcc -m32 -march=nocona -O -fomit-frame-pointer2018092020180818
6338950108refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018092020180818
6349232572refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018092020180818
6356296240refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018092020180818
6374275984refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018092020180818
6437409336refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018092020180818
6471218020refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018092020180818
6496628776refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018092020180818
6501107964refgcc -m32 -march=i386 -O -fomit-frame-pointer2018092020180818
6519131148refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018092020180818
6531235448refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018092020180818
6540704116refgcc -m32 -march=pentium -O -fomit-frame-pointer2018092020180818
6541722732refgcc -m32 -march=i486 -O -fomit-frame-pointer2018092020180818
6548253684refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018092020180818
6552106104refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018092020180818
6593436584refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018092020180818
6704053276refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018092020180818
6704925260refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018092020180818
6929268012refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018092020180818
6930563352refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018092020180818
6948219968refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018092020180818
6949544168refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018092020180818

Compiler output

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