Implementation notes: aarch64, hikey960, crypto_aead/oceankeyakv1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: oceankeyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13324528868 0 1228744 832 1192refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
14880723492 0 1234413 976 1176refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
17482538932 0 1249965 976 1208refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
17482529268 0 1241589 976 1208refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
17484637580 0 1248437 976 1208refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
20430930916 0 1243165 976 1208refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
27475828868 0 1228728 832 1192refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
28425623388 0 1234477 976 1176refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
32740423388 0 1234477 976 1176refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
33755413412 0 1224233 960 1176refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
39127523976 0 1235093 976 1176refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
52447528868 0 1228744 832 1192refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
52859814848 0 1226277 976 1176refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
61605014788 0 1226285 976 1176refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
63270013412 0 1224233 960 1176refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
70762528868 0 1228744 832 1192refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
85267213448 0 1224233 960 1176refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
93460029276 0 1241605 976 1208refgcc_-O3_-fomit-frame-pointer2019112820190816
96581613444 0 1224233 960 1176refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
104062515400 0 1226845 976 1176refgcc_-O_-fomit-frame-pointer2019112820190816
144855014788 0 1226285 976 1176refgcc_-O2_-fomit-frame-pointer2019112820190816
164438515400 0 1226845 976 1176refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
290542513448 0 1224233 960 1176refgcc_-Os_-fomit-frame-pointer2019112820190816
362970015428 0 1226861 976 1176refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
585819326809 0 1241793 960 1176refcc2019112820190816
586988626809 0 1241793 960 1176refgcc2019112820190816
1253895626809 0 1241793 960 1176refgcc_-funroll-loops2019112820190816

Compiler output

Implementation: ref
Security model: unknown
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->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: 23, 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 -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

Compiler output

Implementation: ref
Security model: unknown
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->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->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: 4, namely:
CompilerImplementations
clang -O3 -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