Implementation notes: aarch64, supercoplxc, crypto_aead/ketjemajorv2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: ketjemajorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
748809761 0 027721 920 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
748809801 0 028289 920 880ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
752009881 0 027801 920 864ARMv8Agcc_-funroll-loops_-O2_-fomit-frame-pointer2019090720190816
752009921 0 028377 920 880ARMv8Agcc_-funroll-loops_-O3_-fomit-frame-pointer2019090720190816
775207033 0 022945 920 864ARMv8Agcc_-O2_-fomit-frame-pointer2019090720190816
775207065 0 024025 920 880ARMv8Agcc_-O3_-fomit-frame-pointer2019090720190816
775206769 0 021593 904 856ARMv8Agcc_-funroll-loops_-Os_-fomit-frame-pointer2019090720190816
775206769 0 021593 904 856ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
779207025 0 022913 920 864ARMv8Agcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
779207057 0 024017 920 880ARMv8Agcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
780806773 0 021561 904 856ARMv8Agcc_-Os_-fomit-frame-pointer2019090720190816
780806773 0 021561 904 856ARMv8Agcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
781607009 0 023017 920 864ARMv8Agcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
782407009 0 023017 920 864ARMv8Agcc_-O_-fomit-frame-pointer2019090720190816
784009609 0 028681 920 864ARMv8Agcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
784809609 0 028681 920 864ARMv8Agcc_-funroll-loops_-O_-fomit-frame-pointer2019090720190816
1188808701 0 030977 904 864ARMv8Agcc2019090720190816
1190408701 0 030977 904 864ARMv8Acc2019090720190816
1190408701 0 030977 904 864ARMv8Agcc_-funroll-loops2019090720190816
15824044025 0 061790 800 888generic64clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090720190816
15872045089 0 062129 920 880generic64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
15920049517 0 067913 920 880generic64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
16168051617 0 070017 920 880generic64gcc_-funroll-loops_-O3_-fomit-frame-pointer2019090720190816
16504042421 0 060150 800 888generic64clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090720190816
16504042421 0 060150 800 888generic64clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090720190816
16552042421 0 060150 800 888generic64clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090720190816
16560047177 0 064225 920 880generic64gcc_-O3_-fomit-frame-pointer2019090720190816
16576042421 0 060102 800 888generic64clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090720190816
16808051633 0 070025 920 880generic64lcgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
16824045497 0 063262 800 888generic64lcclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090720190816
16912046509 0 063553 920 880generic64lcgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
17048052937 0 071329 920 880generic64lcgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090720190816
17176047785 0 064833 920 880generic64lcgcc_-O3_-fomit-frame-pointer2019090720190816
17464043929 0 061662 800 888generic64lcclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090720190816
17488043929 0 061662 800 888generic64lcclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090720190816
17488043929 0 061662 800 888generic64lcclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090720190816
17520043929 0 061606 800 888generic64lcclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090720190816
17544047425 0 065433 920 864generic64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
17696049373 0 067257 920 864generic64gcc_-funroll-loops_-O2_-fomit-frame-pointer2019090720190816
18008043389 0 059201 920 864generic64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
18208045325 0 061185 920 864generic64gcc_-O2_-fomit-frame-pointer2019090720190816
19656048421 0 066425 920 864generic64lcgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
19784049573 0 067465 920 864generic64lcgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090720190816
19808045117 0 060977 920 864generic64lcgcc_-O2_-fomit-frame-pointer2019090720190816
19952043977 0 059793 920 864generic64lcgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
20664042877 0 057793 904 856generic64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
20680042877 0 057793 904 856generic64gcc_-funroll-loops_-Os_-fomit-frame-pointer2019090720190816
20744042881 0 057737 904 856generic64gcc_-Os_-fomit-frame-pointer2019090720190816
20760042881 0 057737 904 856generic64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
21096043473 0 058393 904 856generic64lcgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
21152043473 0 058393 904 856generic64lcgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090720190816
21224043449 0 058321 904 856generic64lcgcc_-Os_-fomit-frame-pointer2019090720190816
21224043449 0 058321 904 856generic64lcgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
21808054317 0 070249 920 864generic64gcc_-O_-fomit-frame-pointer2019090720190816
21824054317 0 070249 920 864generic64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
22096057473 0 076633 920 864generic64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
22128057473 0 076633 920 864generic64gcc_-funroll-loops_-O_-fomit-frame-pointer2019090720190816
22536058093 0 077249 920 864generic64lcgcc_-funroll-loops_-O_-fomit-frame-pointer2019090720190816
22544058093 0 077249 920 864generic64lcgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
22624053797 0 069729 920 864generic64lcgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
22880053797 0 069729 920 864generic64lcgcc_-O_-fomit-frame-pointer2019090720190816
3377606137 0 023886 800 888compactclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090720190816
3384806109 0 023830 800 888compactclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090720190816
3384806109 0 023830 800 888compactclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090720190816
3386406109 0 023830 800 888compactclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090720190816
3416006109 0 023774 800 888compactclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090720190816
35424017755 0 036145 920 880compactgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090720190816
35632017575 0 035969 920 880compactgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
37264011475 0 029353 920 864compactgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090720190816
37328011415 0 029409 920 864compactgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
38888022385 0 040785 920 880generic32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
39088019437 0 037190 800 888generic32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090720190816
39128014233 0 029153 904 856generic32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
39144014233 0 029153 904 856generic32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019090720190816
39320011743 0 028801 920 880compactgcc_-O3_-fomit-frame-pointer2019090720190816
39784011571 0 028633 920 880compactgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
39800020085 0 037161 920 880generic32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
40176017901 0 035897 920 864generic32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
40664015409 0 031233 920 864generic32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
41192022177 0 039257 920 880generic32gcc_-O3_-fomit-frame-pointer2019090720190816
41600024589 0 043001 920 880generic32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019090720190816
41992014185 0 029057 904 856generic32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
42008014185 0 029057 904 856generic32gcc_-Os_-fomit-frame-pointer2019090720190816
42768020017 0 037694 800 888generic32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090720190816
42912017557 0 033417 920 864generic32gcc_-O2_-fomit-frame-pointer2019090720190816
43184020113 0 037985 920 864generic32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019090720190816
43224020145 0 037870 800 888generic32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090720190816
43232020145 0 037870 800 888generic32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090720190816
43240020145 0 037870 800 888generic32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090720190816
50712018161 0 037329 920 864generic32gcc_-funroll-loops_-O_-fomit-frame-pointer2019090720190816
50736018161 0 037329 920 864generic32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
50864015753 0 031697 920 864generic32gcc_-O_-fomit-frame-pointer2019090720190816
50864015753 0 031697 920 864generic32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
52352010831 0 030009 920 864compactgcc_-funroll-loops_-O_-fomit-frame-pointer2019090720190816
52384010831 0 030009 920 864compactgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
586240132797 0 0155129 904 864generic64gcc2019090720190816
586400132797 0 0155129 904 864generic64cc2019090720190816
587360132797 0 0155129 904 864generic64gcc_-funroll-loops2019090720190816
5940806198 0 022065 920 864compactgcc_-O2_-fomit-frame-pointer2019090720190816
602240129921 0 0152257 904 864generic64lcgcc2019090720190816
602320129921 0 0152257 904 864generic64lccc2019090720190816
602400129921 0 0152257 904 864generic64lcgcc_-funroll-loops2019090720190816
6096806186 0 022017 920 864compactgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
9476806446 0 022393 920 864compactgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
9477606446 0 022393 920 864compactgcc_-O_-fomit-frame-pointer2019090720190816
10708805633 0 020561 904 856compactgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090720190816
10711205633 0 020561 904 856compactgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
10836005629 0 020513 904 856compactgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
10854405629 0 020513 904 856compactgcc_-Os_-fomit-frame-pointer2019090720190816
159640033945 0 056289 904 864generic32cc2019090720190816
159768033945 0 056289 904 864generic32gcc2019090720190816
159920033945 0 056289 904 864generic32gcc_-funroll-loops2019090720190816
32436809135 0 031481 904 864compactgcc2019090720190816
32447209135 0 031481 904 864compactcc2019090720190816
32472009135 0 031481 904 864compactgcc_-funroll-loops2019090720190816
797632061782 56 5475269 1640 952refclang++_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090720190816
804512061462 56 5474925 1640 952refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090720190816
808120061382 56 5474797 1640 952refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019090720190816
816424061462 56 5474925 1640 952refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090720190816
817848061462 56 5474925 1640 952refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090720190816
834672062928 1192 4776357 1936 944refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
1024776076085 1192 4786715 1936 960refg++_-O3_-fomit-frame-pointer2019090720190816
1030848083243 1192 4792043 1936 960refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
1034568075493 1192 4786123 1936 960refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
1280184055483 1192 4768880 1936 944refg++_-O2_-fomit-frame-pointer2019090720190816
1342816054967 1192 4768356 1936 944refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
1976440040513 1192 4754523 1880 904refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
1998616040513 1192 4754523 1880 904refg++_-Os_-fomit-frame-pointer2019090720190816
2022192061925 1192 4777060 1936 944refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
2030840040469 1192 4754523 1880 904refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
2097024054201 1192 4768116 1936 944refg++_-O_-fomit-frame-pointer2019090720190816
2124960054201 1192 4768116 1936 944refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
80436160110959 1656 54112320 2160 944refg++2019090720190816

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: invalid operand for instruction
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: invalid operand for instruction
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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ARMv8A