Implementation notes: x86, rumba5, crypto_sign/sphincsf128shake256

Computer: rumba5
Architecture: x86
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincsf128shake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
630747456avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
644364736avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
913326752avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
914431616avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
916522496avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
919094976avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
920099136avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818
942481280avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
2240234272refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
2259213472refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
2376931776refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018090320180818
2387259392refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
2392230208refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018090320180818
2393585344refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018090320180818
2394260416refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018090320180818
2405445120refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018090320180818
2420162304refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018090320180818
2426513664refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018090320180818
2435132224refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018090320180818
2437485696refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018090320180818
2441809120refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018090320180818
2444368416refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018090320180818
2446575488refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018090320180818
2448710240refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018090320180818
2450009376refgcc -m32 -O3 -fomit-frame-pointer2018090320180818
2454214432refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018090320180818
2454988384refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018090320180818
2475844608refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018090320180818
2477205792refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018090320180818
2479432704refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018090320180818
2479694624refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018090320180818
2499486976refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018090320180818
2499702048refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018090320180818
2526745184refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018090320180818
2535609696refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018090320180818
2545238880refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018090320180818
2549251200refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018090320180818
2550241728refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018090320180818
2553818272refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018090320180818
2556458496refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018090320180818
2562076512refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018090320180818
2563181920refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018090320180818
2566144160refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018090320180818
2576128192refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018090320180818
2576166560refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018090320180818
2577162880refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018090320180818
2589833344refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018090320180818
2590904064refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018090320180818
2596876992refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018090320180818
2599258912refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018090320180818
2601659072refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018090320180818
2602141248refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018090320180818
2603745920refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
2609093344refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818
2616414048refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018090320180818
2617680000refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018090320180818
2621819488refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018090320180818
2623527712refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018090320180818
2625514464refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018090320180818
2630829184refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018090320180818
2632341920refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018090320180818
2632957568refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018090320180818
2633003904refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018090320180818
2633590656refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
2637766912refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018090320180818
2637874656refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018090320180818
2638882432refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018090320180818
2642063968refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018090320180818
2642888448refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018090320180818
2643024384refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018090320180818
2643312960refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018090320180818
2648444736refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018090320180818
2648692096refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018090320180818
2649338592refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018090320180818
2652411968refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018090320180818
2658335904refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018090320180818
2662974816refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018090320180818
2666153600refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018090320180818
2669994464refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018090320180818
2671381280refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018090320180818
2683203264refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
2689432640refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018090320180818
2692270752refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018090320180818
2694086656refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
2704315840refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018090320180818
2704765664refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018090320180818
2705029600refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018090320180818
2705772992refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018090320180818
2717038432refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018090320180818
2717363392refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018090320180818
2717938592refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018090320180818
2721137504refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018090320180818
2724491584refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
2725480256refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018090320180818
2731217920refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018090320180818
2731581792refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018090320180818
2731701920refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018090320180818
2734382688refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018090320180818
2738186336refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018090320180818
2738434368refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018090320180818
2750923552refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018090320180818
2751735648refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
2776720224refgcc -m32 -march=k8 -O -fomit-frame-pointer2018090320180818
2791381824refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018090320180818
2792443840refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018090320180818
2794074528refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018090320180818
2795071360refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018090320180818
2795628800refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018090320180818
2797679168refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018090320180818
2797708448refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018090320180818
2800342496refgcc -m32 -march=k6 -O -fomit-frame-pointer2018090320180818
2802759552refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018090320180818
2806069728refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018090320180818
2806523488refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018090320180818
2807057568refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018090320180818
2811308800refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018090320180818
2811939040refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018090320180818
2813649184refgcc -m32 -march=nocona -O -fomit-frame-pointer2018090320180818
2817116736refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018090320180818
2818598272refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018090320180818
2821153312refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018090320180818
2821374016refgcc -m32 -march=core2 -O -fomit-frame-pointer2018090320180818
2825042176refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018090320180818
2826796192refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018090320180818
2827676608refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018090320180818
2829513760refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018090320180818
2829616448refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018090320180818
2833477888refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018090320180818
2833514624refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018090320180818
2834791072refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018090320180818
2835005952refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018090320180818
2835009440refgcc -m32 -march=athlon -O -fomit-frame-pointer2018090320180818
2843414688refgcc -m32 -O -fomit-frame-pointer2018090320180818
2845129184refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018090320180818
2846723360refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018090320180818
2846802144refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018090320180818
2847188480refgcc -m32 -march=i386 -O -fomit-frame-pointer2018090320180818
2848271904refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018090320180818
2848670528refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018090320180818
2849198368refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018090320180818
2849547520refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018090320180818
2850199680refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018090320180818
2851091744refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018090320180818
2854102848refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018090320180818
2854542144refgcc -m32 -march=pentium -O -fomit-frame-pointer2018090320180818
2856039360refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018090320180818
2858216864refgcc -m32 -march=i486 -O -fomit-frame-pointer2018090320180818
2860483904refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018090320180818
2860492512refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018090320180818
2861014752refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018090320180818
2864233952refgcc -m32 -march=prescott -O -fomit-frame-pointer2018090320180818
2866531680refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018090320180818
2868058496refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018090320180818
2883900064refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018090320180818
2886174560refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018090320180818
2886551072refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018090320180818
2886872960refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018090320180818
2886952608refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018090320180818
2889562528refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018090320180818
2905926624refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018090320180818
2920882912refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018090320180818
2932822688refgcc -m32 -O2 -fomit-frame-pointer2018090320180818
2934815488refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
2974406464refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018090320180818
3026646208refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018090320180818
3029896608refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018090320180818
3029971424refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018090320180818
3039968512refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
3048289440refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018090320180818
3056922656refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018090320180818
3060919488refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018090320180818
3073254208refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018090320180818
3076427872refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018090320180818
3083792960refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018090320180818
3085596768refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018090320180818
3096447008refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018090320180818
3097357088refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018090320180818
3099720832refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018090320180818
3111820640refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018090320180818
3129501024refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018090320180818
3135921792refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018090320180818
3146241568refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018090320180818
3363437216refgcc -m32 -Os -fomit-frame-pointer2018090320180818
3397307392refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018090320180818

Compiler output

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

Number of similar (compiler,implementation) pairs: 156, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx2
gcc -m32 -O2 -fomit-frame-pointer avx2
gcc -m32 -O3 -fomit-frame-pointer avx2
gcc -m32 -O -fomit-frame-pointer avx2
gcc -m32 -Os -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx2

Compiler output

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

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_sign/sphincsf128shake256/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:142:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+2], lanes2 ),\
KeccakP-1600-times4-SIMD256.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer avx2