Implementation notes: amd64, skylake, crypto_aead/oceankeyakv1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: oceankeyakv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
127842refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
128508refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
128522refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
129022refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
129268refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
129632refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
129822refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
130142refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
130758refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
148824refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
149210refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
149310refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
149412refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
149600refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
149676refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
150630refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
152930refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
154392refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
156378refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
158564refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
159458refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
159900refgcc -O3 -fomit-frame-pointer2016121620161026
159968refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
161196refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
161606refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
161694refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
162272refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
162744refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
162862refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
163642refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
164126refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
164236refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
164518refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
167650refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
167714refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
168458refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
168754refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
169320refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
170612refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
171044refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
172358refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
172450refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
172644refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
172838refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
174048refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
179810refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
180570refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
181510refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
182512refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
183102refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
183372refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
184858refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
184976refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
186004refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
187444refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
452694refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
452738refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
453068refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
460406refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
460484refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
460534refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
460572refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
461826refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
464090refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
464444refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
464578refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
473370refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
473630refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
477928refgcc -O2 -fomit-frame-pointer2016121620161026
479054refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
480876refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
590676refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
591280refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
709044refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
709718refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
733392refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
735764refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
736156refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
742708refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
742992refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
743906refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
744302refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
746100refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
746518refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
748184refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
748530refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
748914refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
749552refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
749642refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
749956refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
750256refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
750306refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
750636refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
751844refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
751854refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
752290refgcc -O -fomit-frame-pointer2016121620161026
752298refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
753504refgcc -Os -fomit-frame-pointer2016121620161026
754640refgcc -m64 -Os -fomit-frame-pointer2016121620161026
755390refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
756092refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
757950refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
758638refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
759198refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
759282refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
760758refgcc -m64 -O -fomit-frame-pointer2016121620161026
762368refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
763878refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
765408refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
765756refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
766030refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
767462refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
768334refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
768914refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
770886refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
771820refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
1160178refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
1166250refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
2814488refgcc2016121620161026
2825426refcc2016121620161026
2830276refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/oceankeyakv1/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/oceankeyakv1/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/oceankeyakv1/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