Implementation notes: aarch64, hikey960, crypto_aead/ketjemajorv2

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: ketjemajorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
177666125 0 024855 928 864ARMv8Agcc_-Os_-fomit-frame-pointer2019112820190816
177666125 0 020759 928 864ARMv8Agcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
177669325 0 028187 944 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
244316125 0 020759 928 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
249759449 0 028395 944 896ARMv8Agcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
266496305 0 022043 944 864ARMv8Agcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
266499289 0 028083 944 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
266496277 0 022035 944 864ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
291346325 0 023555 944 896ARMv8Agcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
333158197 0 034055 928 864ARMv8Agcc_-funroll-loops2019112820190816
355328197 0 034055 928 864ARMv8Acc2019112820190816
355326125 0 024855 928 864ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
3553242269 0 058000 816 880generic64clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
3553241361 0 055927 928 864generic64gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
3553241361 0 055927 928 864generic64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
416256305 0 022043 944 864ARMv8Agcc_-O_-fomit-frame-pointer2019112820190816
416256309 0 022035 944 864ARMv8Agcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
416259417 0 028131 944 864ARMv8Agcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
416256297 0 022043 944 864ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
532988197 0 034055 928 864ARMv8Agcc2019112820190816
5329842269 0 058000 816 880generic64clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
582756125 0 024855 928 864ARMv8Agcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
5827540949 0 058131 944 896generic64gcc_-O3_-fomit-frame-pointer2019112820190816
5827542437 0 059579 944 896generic64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
5827540917 0 058091 944 896generic64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
621816293 0 022035 944 864ARMv8Agcc_-O2_-fomit-frame-pointer2019112820190816
621819313 0 028091 944 896ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
621816309 0 023555 944 896ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
6218143837 0 059371 944 864generic64lcgcc_-O_-fomit-frame-pointer2019112820190816
624456309 0 023555 944 896ARMv8Agcc_-O3_-fomit-frame-pointer2019112820190816
624459325 0 028187 944 864ARMv8Agcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
6244545545 0 064347 944 896generic64gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
6660042285 0 057819 944 864generic64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
6660044065 0 059816 816 880generic64lcclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
6660042357 0 057915 944 864generic64lcgcc_-O2_-fomit-frame-pointer2019112820190816
6660046945 0 065475 944 864generic64lcgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
6660050561 0 069363 944 896generic64lcgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
6660051405 0 070163 944 896generic64lcgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
6660042277 0 057835 944 864generic64lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
7077142317 0 057851 944 864generic64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
7077142789 0 057343 928 864generic64lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
7106442269 0 057984 816 880generic64clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
7106446969 0 065731 944 896generic64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
7492544065 0 059792 816 880generic64lcclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
7492548301 0 067035 944 864generic64lcgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
7493443817 0 059355 944 864generic64lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
7994716573 0 032280 816 880generic32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
7994741789 0 057291 944 864generic64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
7994744037 0 061219 944 896generic64lcgcc_-O3_-fomit-frame-pointer2019112820190816
7994743949 0 061123 944 896generic64lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
8883042285 0 057819 944 864generic64gcc_-O_-fomit-frame-pointer2019112820190816
8883042813 0 057383 928 864generic64lcgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
9990044241 0 062771 944 864generic64gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
9990044881 0 062019 944 896generic64lcgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1065969559 0 028299 944 864compactgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
10822545581 0 064315 944 864generic64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
10822541361 0 055919 928 864generic64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
10822543241 0 058739 944 864generic64lcgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
10823844065 0 059816 816 880generic64lcclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
11240142813 0 057383 928 864generic64lcgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1243624698 0 020267 944 864compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
13734642269 0 058000 816 880generic64clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
14031645657 0 064219 944 864generic64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
14152511443 0 029979 944 864compactgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
14152511387 0 029955 944 864compactgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
14152512441 0 026999 928 864generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
14152540253 0 055811 944 864generic64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
15403111223 0 028411 944 896compactgcc_-O3_-fomit-frame-pointer2019112820190816
15403120513 0 037707 944 896generic32gcc_-O3_-fomit-frame-pointer2019112820190816
15403147837 0 066395 944 864generic64lcgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
15817511371 0 028523 944 896compactgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
15817511167 0 028347 944 896compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
15817515085 0 030816 816 880generic32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
15817515153 0 030659 944 864generic32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
15817517629 0 036195 944 864generic32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
15989441361 0 055919 928 864generic64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1665005785 0 021496 816 880compactclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1665005785 0 021512 816 880compactclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
16650012441 0 026999 928 864generic32gcc_-Os_-fomit-frame-pointer2019112820190816
16650017861 0 036395 944 864generic32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
16650041361 0 055919 928 864generic64gcc_-Os_-fomit-frame-pointer2019112820190816
16650045581 0 064315 944 864generic64gcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
16650043837 0 059371 944 864generic64lcgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
16650042789 0 057343 928 864generic64lcgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
16652012461 0 027031 928 864generic32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
166520128869 0 0150463 928 864generic64lccc2019112820190816
17482516157 0 034891 944 864generic32gcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
17482548301 0 067035 944 864generic64lcgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
21099516157 0 034891 944 864generic32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
21319213677 0 029219 944 864generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
22216715085 0 030816 816 880generic32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
23386012441 0 026999 928 864generic32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
233860131737 0 0153335 928 864generic64gcc_-funroll-loops2019112820190816
233860128869 0 0150463 928 864generic64lcgcc2019112820190816
24142520521 0 037707 944 896generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
2576074306 0 018871 928 864compactgcc_-Os_-fomit-frame-pointer2019112820190816
25807540301 0 055859 944 864generic64gcc_-O2_-fomit-frame-pointer2019112820190816
2598574306 0 018879 928 864compactgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
266400131737 0 0153335 928 864generic64cc2019112820190816
3080254306 0 018871 928 864compactgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
3080254306 0 018879 928 864compactgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
31090520329 0 037483 944 896generic32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
31090512461 0 027031 928 864generic32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
31222519035 0 037803 944 896compactgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
31635042789 0 057343 928 864generic64lcgcc_-Os_-fomit-frame-pointer2019112820190816
32055115473 0 031035 944 864generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
3246754818 0 020355 944 864compactgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
32711022645 0 041419 944 896generic32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
3371225785 0 021512 816 880compactclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
3413255785 0 021512 816 880compactclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
36248315377 0 030939 944 864generic32gcc_-O2_-fomit-frame-pointer2019112820190816
37387019011 0 037819 944 896compactgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
37387015085 0 030816 816 880generic32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
373870131737 0 0153335 928 864generic64gcc2019112820190816
39717144065 0 059816 816 880generic64lcclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
39960013529 0 029067 944 864generic32gcc_-O_-fomit-frame-pointer2019112820190816
4442004306 0 018871 928 864compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
4578204754 0 020267 944 864compactgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
4870714822 0 020363 944 864compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
4995004818 0 020355 944 864compactgcc_-O_-fomit-frame-pointer2019112820190816
49950032829 0 054431 928 864generic32gcc_-funroll-loops2019112820190816
499500128869 0 0150463 928 864generic64lcgcc_-funroll-loops2019112820190816
55777522829 0 041643 944 896generic32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
5951614714 0 020283 944 864compactgcc_-O2_-fomit-frame-pointer2019112820190816
67510832829 0 054431 928 864generic32cc2019112820190816
74774013529 0 029067 944 864generic32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
77422532829 0 054431 928 864generic32gcc2019112820190816
7992007983 0 029583 928 864compactcc2019112820190816
9324009559 0 028299 944 864compactgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
12570757983 0 029583 928 864compactgcc_-funroll-loops2019112820190816
17656437983 0 029583 928 864compactgcc2019112820190816
202532464404 1192 4779882 1952 944refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
202555268558 56 5479346 1656 944refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
203221567882 56 5478670 1656 944refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
373792591581 1192 47102648 1952 976refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
374625092184 1192 47103315 1952 976refg++_-O3_-fomit-frame-pointer2019112820190816
382117568558 56 5479346 1656 944refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
382950068558 56 5479346 1656 944refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
411282955832 1192 4770674 1952 944refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
492840092032 1192 47103147 1952 976refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
5844150100264 1192 47110255 1952 976refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
741730555783 1192 4774765 1952 944refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
909090056279 1192 4774955 1952 944refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
972062056047 1192 4775029 1952 944refg++_-O2_-fomit-frame-pointer2019112820190816
1028651440457 1192 4755840 1904 944refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
1308545056367 1192 4770955 1952 944refg++_-O_-fomit-frame-pointer2019112820190816
1826505040501 1192 4755920 1904 944refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1863775164743 1192 4779955 1952 944refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
1927885340461 1192 4755840 1904 944refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1934129840461 1192 4755840 1904 944refg++_-Os_-fomit-frame-pointer2019112820190816
2042709656367 1192 4770955 1952 944refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
31663778112534 1656 54114871 2184 944refg++2019112820190816

Compiler output

Implementation: ARMv8A
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
KeccakP-1600-armv8a-neon.s: <instantiation>:18:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s: mov v5.2d[0], v0.2d[1] // v5 = (A[4] ^ A[14]) || ????
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:524:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: KeccakRound
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:23:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s: mov v4.2d[1], v3.2d[0] // v4 = B[4] || B[3]
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:524:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: KeccakRound
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:57:18: error: expected compatible register or logical immediate
KeccakP-1600-armv8a-neon.s: mov x11, v20.2d[0] // x11 = A[1]
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:524:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: KeccakRound
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:2:18: error: expected compatible register or logical immediate
KeccakP-1600-armv8a-neon.s: mov x10, v25.2d[0]
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:59:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: RhoPi v25.2d[0], x11, x10, 1 // A[10] = ROTL64(A[1], 1)
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:524:5: note: while in macro instantiation
KeccakP-1600-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