Implementation notes: amd64, skylake, crypto_aead/seakeyakv1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: seakeyakv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
103594refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
103758refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
103924refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
104002refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
104484refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
105186refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
105268refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
105616refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
106300refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
117892refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
118534refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
118624refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
118644refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
118690refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
119728refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
120062refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
121378refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
121422refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
122866refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
126568refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
126940refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
127360refgcc -O3 -fomit-frame-pointer2016121620161026
127434refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
127588refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
128722refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
130562refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
130862refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
132486refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
133864refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
134072refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
134378refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
135848refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
136394refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
137082refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
137206refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
137518refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
137600refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
137742refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
138472refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
138478refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
138546refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
138586refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
138698refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
138880refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
139554refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
144180refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
146258refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
146636refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
147760refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
148072refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
148622refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
148696refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
149042refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
149226refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
151610refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
355188refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
355324refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
355714refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
362300refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
362578refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
363100refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
363998refgcc -O2 -fomit-frame-pointer2016121620161026
364796refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
366586refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
368910refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
369774refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
371212refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
372148refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
372686refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
372938refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
373318refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
461230refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
461960refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
559554refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
562842refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
565458refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
566284refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
568146refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
569784refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
570094refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
570362refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
578944refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
592340refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
596390refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
596490refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
597668refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
598388refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
598650refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
598706refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
598834refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
600900refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
606128refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
606274refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
606306refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
607006refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
607028refgcc -m64 -O -fomit-frame-pointer2016121620161026
607328refgcc -O -fomit-frame-pointer2016121620161026
607926refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
608426refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
608500refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
610634refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
611098refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
612106refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
615168refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
615308refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
616720refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
627834refgcc -m64 -Os -fomit-frame-pointer2016121620161026
628146refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
628780refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
629418refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
629728refgcc -Os -fomit-frame-pointer2016121620161026
630934refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
631592refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
632022refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
632722refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
634374refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
924606refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
932988refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
2247912refgcc2016121620161026
2258802refcc2016121620161026
2277240refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/seakeyakv1/ref
Compiler: cc
KeccakDuplex.c: In file included from KeccakDuplex.h:17:0,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: KeccakF_StatePermute(instance->gt;state);
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SerialFallback.c: In file included from ParallelKeccakFs.h:17:0,
SerialFallback.c: from SerialFallback.c:14:
SerialFallback.c: SerialFallback.c: In function 'KeccakF_ParallelStatePermute':
SerialFallback.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' [-Wimplicit-function-declaration]
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: SerialFallback.c:93:5: note: in expansion of macro 'KeccakF_StatePermute'
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 107, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/seakeyakv1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
KeccakDuplex.c: KeccakDuplex.c:63:9: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StatePermute(instance->gt;state);
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:85:9: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StateXORPermuteExtract(instance->gt;state, sigmaBegin, sigmaBeginByteLen/KeccakF_laneInBytes,
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:73:40: note: expanded from macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: 2 warnings generated.
SerialFallback.c: SerialFallback.c:93:5: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^
SerialFallback.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/seakeyakv1/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
KeccakDuplex.c: In file included from KeccakDuplex.h:17:0,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: KeccakF_StatePermute(instance->gt;state);
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SerialFallback.c: In file included from ParallelKeccakFs.h:17:0,
SerialFallback.c: from SerialFallback.c:14:
SerialFallback.c: SerialFallback.c: In function 'KeccakF_ParallelStatePermute':
SerialFallback.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' [-Wimplicit-function-declaration]
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: SerialFallback.c:93:5: note: in expansion of macro 'KeccakF_StatePermute'
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: In file included from KeccakDuplex.h:17:0,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: KeccakF_StatePermute(instance->gt;state);
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SerialFallback.c: In file included from ParallelKeccakFs.h:17:0,
SerialFallback.c: from SerialFallback.c:14:
SerialFallback.c: SerialFallback.c: In function 'KeccakF_ParallelStatePermute':
SerialFallback.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute' [-Wimplicit-function-declaration]
SerialFallback.c: #define KeccakF_StatePermute KeccakP1600_12_StatePermute
SerialFallback.c: ^
SerialFallback.c: SerialFallback.c:93:5: note: in expansion of macro 'KeccakF_StatePermute'
SerialFallback.c: KeccakF_StatePermute(stateWithIndex(instanceIndex));
SerialFallback.c: ^~~~~~~~~~~~~~~~~~~~

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