Implementation notes: aarch64, hikey960, crypto_aead/ketjeminorv2

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: ketjeminorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
06325 0 022099 944 864ARMv8Agcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
06313 0 022107 944 864ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
013969 0 032899 944 896generic32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
355286293 0 022099 944 864ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
416256321 0 022107 944 864ARMv8Agcc_-O_-fomit-frame-pointer2019112820190816
416256149 0 024919 928 864ARMv8Agcc_-Os_-fomit-frame-pointer2019112820190816
416256149 0 024919 928 864ARMv8Agcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
416258677 0 027691 944 896ARMv8Agcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
416259341 0 028251 944 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
416306325 0 023619 944 896ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
541198205 0 034119 928 864ARMv8Acc2019112820190816
582758205 0 034119 928 864ARMv8Agcc2019112820190816
584656149 0 024919 928 864ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
666006309 0 022099 944 864ARMv8Agcc_-O2_-fomit-frame-pointer2019112820190816
666009341 0 028251 944 864ARMv8Agcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
666006149 0 020823 928 864ARMv8Agcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
666008957 0 024672 816 880generic32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
666008369 0 022927 928 864generic32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
7077111873 0 030531 944 864generic32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
7491610349 0 026064 816 880generic32lcclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
749259325 0 024979 944 864generic32gcc_-O_-fomit-frame-pointer2019112820190816
749259925 0 027227 944 896generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
749259353 0 025011 944 864generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
7492510137 0 025827 944 864generic32lcgcc_-O2_-fomit-frame-pointer2019112820190816
749259337 0 023895 928 864generic32lcgcc_-Os_-fomit-frame-pointer2019112820190816
7492510109 0 025715 944 864generic32lcgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
7492514129 0 032787 944 864generic32lcgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
7994710073 0 025808 816 880generic32lcclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
8883014073 0 032755 944 864generic32lcgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
888309337 0 023895 928 864generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
9156411617 0 028931 944 896generic32lcgcc_-O3_-fomit-frame-pointer2019112820190816
935446325 0 023619 944 896ARMv8Agcc_-O3_-fomit-frame-pointer2019112820190816
9771310381 0 026035 944 864generic32lcgcc_-O_-fomit-frame-pointer2019112820190816
9771310413 0 026067 944 864generic32lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
1082128645 0 027427 944 864ARMv8Agcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
1082256341 0 023619 944 896ARMv8Agcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1082258589 0 027643 944 896ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1082258677 0 024408 816 880generic32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1082258369 0 022935 928 864generic32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
10822512009 0 030691 944 864generic32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
1082258369 0 022935 928 864generic32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1082388565 0 027379 944 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
1082386149 0 020823 928 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1082388917 0 024603 944 864generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
11653610073 0 025808 816 880generic32lcclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1165509325 0 024979 944 864generic32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
11655010073 0 025808 816 880generic32lcclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1165509337 0 023903 928 864generic32lcgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
12487515937 0 034787 944 864generic32lcgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
14152511725 0 029027 944 896generic32lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
1415428677 0 024408 816 880generic32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1415428677 0 024408 816 880generic32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
14985011593 0 028843 944 896generic32lcgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1520098989 0 024595 944 864generic32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
15817518697 0 040295 928 864generic32cc2019112820190816
15817510197 0 025883 944 864generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
1598949337 0 023903 928 864generic32lcgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
1665009873 0 027123 944 896generic32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
16877714017 0 032899 944 896generic32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1706839889 0 027203 944 896generic32gcc_-O3_-fomit-frame-pointer2019112820190816
17482513333 0 032187 944 864generic32gcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
17484613333 0 032187 944 864generic32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
17688515937 0 034787 944 864generic32lcgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
19147517209 0 036139 944 896generic32lcgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
2043093738 0 019355 944 864compactgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
2081256321 0 022107 944 864ARMv8Agcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
20812524505 0 046103 928 864generic32lcgcc_-funroll-loops2019112820190816
22216718697 0 040295 928 864generic32gcc2019112820190816
2221678369 0 022927 928 864generic32gcc_-Os_-fomit-frame-pointer2019112820190816
2331006771 0 025435 944 864compactgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
24555310381 0 026035 944 864generic32lcgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
2747258205 0 034119 928 864ARMv8Agcc_-funroll-loops2019112820190816
2776254165 0 019896 816 880compactclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
2809358865 0 024555 944 864generic32gcc_-O2_-fomit-frame-pointer2019112820190816
3020228643 0 025955 944 896compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
3122259337 0 023895 928 864generic32lcgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
32055124505 0 046103 928 864generic32lcgcc2019112820190816
3375543458 0 018023 928 864compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
3496506787 0 025475 944 864compactgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
3579753806 0 019467 944 864compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
35797517105 0 035987 944 896generic32lcgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
3621817587 0 026443 944 864compactgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
3738703806 0 019467 944 864compactgcc_-O_-fomit-frame-pointer2019112820190816
3738708369 0 022927 928 864generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
3788333722 0 019419 944 864compactgcc_-O2_-fomit-frame-pointer2019112820190816
3912754165 0 019896 816 880compactclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
49117512051 0 030987 944 896compactgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
5244754165 0 019896 816 880compactclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
5577758771 0 026027 944 896compactgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
5612643458 0 018023 928 864compactgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
5661004165 0 019872 816 880compactclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
5685123706 0 019403 944 864compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
5994007587 0 026443 944 864compactgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
6484593806 0 019467 944 864compactgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
65775424505 0 046103 928 864generic32lccc2019112820190816
90742518697 0 040295 928 864generic32gcc_-funroll-loops2019112820190816
91586012107 0 030995 944 896compactgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
9699798683 0 026003 944 896compactgcc_-O3_-fomit-frame-pointer2019112820190816
11216103458 0 018031 928 864compactgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
11571756147 0 027751 928 864compactcc2019112820190816
11738256147 0 027751 928 864compactgcc2019112820190816
12071253458 0 018023 928 864compactgcc_-Os_-fomit-frame-pointer2019112820190816
12405743458 0 018031 928 864compactgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
361538168558 56 5479346 1656 944refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
36713256147 0 027751 928 864compactgcc_-funroll-loops2019112820190816
384633992124 1192 47103363 1952 976refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
679058092276 1192 47103531 1952 976refg++_-O3_-fomit-frame-pointer2019112820190816
681066868558 56 5479346 1656 944refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
682650064404 1192 4779994 1952 944refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
732600091661 1192 47102840 1952 976refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
858097867882 56 5478670 1656 944refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
859874468558 56 5479346 1656 944refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1227105055832 1192 4770786 1952 944refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
1388412956047 1192 4771053 1952 944refg++_-O2_-fomit-frame-pointer2019112820190816
1664167564743 1192 4780075 1952 944refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
1723275056279 1192 4770979 1952 944refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
18475118100344 1192 47110447 1952 976refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1904760040461 1192 4755840 1904 944refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1908319256367 1192 4771075 1952 944refg++_-O_-fomit-frame-pointer2019112820190816
2504992555783 1192 4770789 1952 944refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
3124369656367 1192 4771075 1952 944refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
3485263640501 1192 4755920 1904 944refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
4191308440461 1192 4755840 1904 944refg++_-Os_-fomit-frame-pointer2019112820190816
4264577240457 1192 4755840 1904 944refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
54135652112534 1656 54114871 2184 944refg++2019112820190816

Compiler output

Implementation: ARMv8A
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v22.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:73:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v22, v23
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: KeccakRound
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v24.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:74:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v24, v25
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: KeccakRound
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v26.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:75:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v26, v27
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ARMv8A
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ARMv8A
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ARMv8A
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ARMv8A

Compiler output

Implementation: compact
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: '/*' within block comment [-Wcomment]
KeccakP-800-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-800-compact.c: ^
KeccakP-800-compact.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments compact
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments compact
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments compact
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments compact