Implementation notes: x86, bolero, crypto_sign/sphincsf192shake256

Computer: bolero
Architecture: x86
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincsf192shake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
618808048avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018091920180818
625787952avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018091920180818
883389012avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018091920180818
888640692avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018091920180818
931519144avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018091920180818
938529808avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018091920180818
944352120avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018091920180818
949064888avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018091920180818
2198437484refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018091920180818
2198689240refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018091920180818
2367651924refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018091920180818
2375898140refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018091920180818
2377207244refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018091920180818
2377209508refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018091920180818
2377330700refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018091920180818
2377830800refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018091920180818
2379261832refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018091920180818
2380678140refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018091920180818
2384534512refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018091920180818
2387100220refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018091920180818
2396430024refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018091920180818
2397380848refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018091920180818
2397394668refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018091920180818
2399592708refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018091920180818
2402313440refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018091920180818
2402812744refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018091920180818
2406262276refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018091920180818
2406430060refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018091920180818
2407231000refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018091920180818
2408546108refgcc -m32 -O3 -fomit-frame-pointer2018091920180818
2426606584refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018091920180818
2426790076refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018091920180818
2427733804refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018091920180818
2432596692refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018091920180818
2435156104refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018091920180818
2436852592refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018091920180818
2515712720refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018091920180818
2520489000refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018091920180818
2530651944refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018091920180818
2552983916refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018091920180818
2555897484refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018091920180818
2556424488refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018091920180818
2611631016refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018091920180818
2612339660refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018091920180818
2617919792refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018091920180818
2618299604refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018091920180818
2618715808refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018091920180818
2628171780refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018091920180818
2629146084refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018091920180818
2629860612refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018091920180818
2630067440refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018091920180818
2630417840refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018091920180818
2631020380refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018091920180818
2633046684refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018091920180818
2636288624refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018091920180818
2639693688refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018091920180818
2641880296refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018091920180818
2650649696refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018091920180818
2652012364refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018091920180818
2653039456refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018091920180818
2655311308refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018091920180818
2659755284refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018091920180818
2661018492refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018091920180818
2667723080refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018091920180818
2667777020refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018091920180818
2682532092refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018091920180818
2682946064refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018091920180818
2683410924refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018091920180818
2684003676refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018091920180818
2684360876refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018091920180818
2689507584refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018091920180818
2701453012refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018091920180818
2704004040refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018091920180818
2713379600refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018091920180818
2714639764refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018091920180818
2714898904refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018091920180818
2714946320refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018091920180818
2716845740refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018091920180818
2716942036refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018091920180818
2717871028refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018091920180818
2717881728refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018091920180818
2718154816refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018091920180818
2729890944refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018091920180818
2733345124refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018091920180818
2734185156refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018091920180818
2735623316refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018091920180818
2738051508refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018091920180818
2739926260refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018091920180818
2739970860refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018091920180818
2740380084refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018091920180818
2740411040refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018091920180818
2740521524refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018091920180818
2743094728refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018091920180818
2743508548refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018091920180818
2744646136refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018091920180818
2753211192refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018091920180818
2753561380refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018091920180818
2753968952refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018091920180818
2754232068refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018091920180818
2755079364refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018091920180818
2758774784refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018091920180818
2759327072refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018091920180818
2760099944refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018091920180818
2760591448refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018091920180818
2763443580refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018091920180818
2764056776refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018091920180818
2764381700refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018091920180818
2764556860refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018091920180818
2772515828refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018091920180818
2773765656refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018091920180818
2774498324refgcc -m32 -Os -fomit-frame-pointer2018091920180818
2777338192refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018091920180818
2777548720refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018091920180818
2780108500refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018091920180818
2782918408refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018091920180818
2785530976refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018091920180818
2785691060refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018091920180818
2786412184refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018091920180818
2787890708refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018091920180818
2788580556refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018091920180818
2797823968refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018091920180818
2831330920refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018091920180818
2840459724refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018091920180818
2845405260refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018091920180818
2846571332refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018091920180818
2846997072refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018091920180818
2847886268refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018091920180818
2854333976refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018091920180818
2856084208refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018091920180818
2861586372refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018091920180818
2865963416refgcc -m32 -O -fomit-frame-pointer2018091920180818
2866839148refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018091920180818
2870494268refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018091920180818
2870505472refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018091920180818
2871881048refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018091920180818
2879604020refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018091920180818
2880823068refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018091920180818
2881982128refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018091920180818
2882337456refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018091920180818
2888692564refgcc -m32 -O2 -fomit-frame-pointer2018091920180818
2904922688refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018091920180818
2906298268refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018091920180818
2906566336refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018091920180818
2906600280refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018091920180818
2908218088refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018091920180818
2910240956refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018091920180818
2910408348refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018091920180818
2910412596refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018091920180818
2912404480refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018091920180818
2920473060refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018091920180818
2924692420refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018091920180818
2924716308refgcc -m32 -march=k8 -O -fomit-frame-pointer2018091920180818
2927612920refgcc -m32 -march=core2 -O -fomit-frame-pointer2018091920180818
2928526212refgcc -m32 -march=athlon -O -fomit-frame-pointer2018091920180818
2950571136refgcc -m32 -march=prescott -O -fomit-frame-pointer2018091920180818
2951363876refgcc -m32 -march=nocona -O -fomit-frame-pointer2018091920180818
2952163600refgcc -m32 -march=k6 -O -fomit-frame-pointer2018091920180818
2952817800refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018091920180818
2953124296refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018091920180818
2962249584refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018091920180818
2962654608refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018091920180818
2976173076refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018091920180818
2979544680refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018091920180818
2982231196refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018091920180818
2982761152refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018091920180818
2992411368refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018091920180818
2992413136refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018091920180818
3002742276refgcc -m32 -march=i386 -O -fomit-frame-pointer2018091920180818
3012530620refgcc -m32 -march=i486 -O -fomit-frame-pointer2018091920180818
3013883612refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018091920180818
3033252332refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018091920180818
3033861896refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018091920180818
3035168276refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018091920180818
3035689976refgcc -m32 -march=pentium -O -fomit-frame-pointer2018091920180818
3045989804refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018091920180818
3073447256refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018091920180818
3080760748refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018091920180818
3083449788refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018091920180818
3084223000refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018091920180818
3084720884refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018091920180818
3253259348refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018091920180818
3254336908refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018091920180818
3255422704refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018091920180818
3257598684refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018091920180818

Compiler output

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