Implementation notes: amd64, skylake, crypto_aead/riverkeyakv1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: riverkeyakv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
203150refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
203198refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
203246refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
205438refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
205954refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
206004refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
206344refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
210776refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
210870refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
211086refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
213062refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
214304refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
231084refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
231442refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
231734refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
231968refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
232640refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
232666refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
233850refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
234010refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
234350refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
234588refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
234630refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
235020refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
235416refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
235980refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
236172refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
236470refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
236544refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
237148refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
237202refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
237286refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
237306refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
237440refgcc -O3 -fomit-frame-pointer2016121620161026
238098refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
241256refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
267728refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
267830refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
268362refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
270180refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
283652refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
283932refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
286254refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
286966refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
287966refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
297424refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
299060refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
327398refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
329688refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
329984refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
333738refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
334966refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
336212refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
336398refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
341698refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
721440refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
721926refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
722950refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
734692refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
736890refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
736968refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
737414refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
737518refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
737716refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
738174refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
739320refgcc -O2 -fomit-frame-pointer2016121620161026
739516refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
741108refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
763000refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
763348refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
764762refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
968462refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
972266refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
1154550refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
1155614refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1164494refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
1166360refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
1166924refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
1167128refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
1167360refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
1167466refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
1168262refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
1168988refgcc -Os -fomit-frame-pointer2016121620161026
1169006refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
1169522refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
1170280refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
1170874refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
1172594refgcc -m64 -Os -fomit-frame-pointer2016121620161026
1173594refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
1173654refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
1173874refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
1174146refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
1174764refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
1176826refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
1190456refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
1191106refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
1209324refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
1210830refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
1212506refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
1213412refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
1214286refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
1215000refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
1216158refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
1216922refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
1217690refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
1219128refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
1219176refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
1220094refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
1221722refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
1221892refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
1224170refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
1225958refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
1226438refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
1227090refgcc -m64 -O -fomit-frame-pointer2016121620161026
1232480refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
1236116refgcc -O -fomit-frame-pointer2016121620161026
1876320refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
1878644refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
5070262refgcc -funroll-loops2016121620161026
5070916refgcc2016121620161026
5118372refcc2016121620161026

Compiler output

Implementation: crypto_aead/riverkeyakv1/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 'KeccakP800_12_StatePermute' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP800_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 'KeccakP800_12_StateXORPermuteExtract' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.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/riverkeyakv1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
KeccakDuplex.c: KeccakDuplex.c:63:9: warning: implicit declaration of function 'KeccakP800_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 KeccakP800_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:85:9: warning: implicit declaration of function 'KeccakP800_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 KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: 2 warnings 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/riverkeyakv1/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 'KeccakP800_12_StatePermute' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP800_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 'KeccakP800_12_StateXORPermuteExtract' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.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 'KeccakP800_12_StatePermute' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP800_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 'KeccakP800_12_StateXORPermuteExtract' [-Wimplicit-function-declaration]
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.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