Implementation notes: aarch64, hikey960, crypto_aead/pi16cipher128v1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi16cipher128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
382950152684 0 0168352 952 1024optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
424575156012 0 0171985 960 1056optimized_nonSSEgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
432900155220 0 0169577 960 1056optimized_nonSSEgcc_-O3_-fomit-frame-pointer2019112920190816
441225154712 0 0170696 952 1024optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
507825104584 0 0117248 952 1024optimized_nonSSEgcc_-O2_-fomit-frame-pointer2019112920190816
657675157876 0 0172225 960 1056optimized_nonSSEgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
66600066048 0 081940 952 928refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
67432565056 0 079332 952 928refgcc_-O3_-fomit-frame-pointer2019112920190816
67432566472 0 080740 952 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
724966104484 0 0117152 952 1024optimized_nonSSEgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
73260063328 0 079235 944 896refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
740925157892 0 0173825 960 1056optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
74101463328 0 079235 944 896refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
89077543308 0 055835 944 896refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
93240043012 0 055603 944 896refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
934520153752 0 0169384 952 1024optimized_nonSSEgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816
947133102680 0 0114596 936 1024optimized_nonSSEgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
95737540592 0 053315 944 896refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
98221266840 0 082692 952 928refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
101565039700 0 051535 928 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
1028060157260 0 0171569 960 1056optimized_nonSSEgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
1032300102748 0 0114660 936 1024optimized_nonSSEgcc_-Os_-fomit-frame-pointer2019112920190816
1036587102732 0 0114668 936 1024optimized_nonSSEgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
105237076056 0 091611 944 896refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816
1098900102732 0 0114668 936 1024optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
1129410102748 0 0114660 936 1024optimized_nonSSEgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
116550065752 0 079980 952 928refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
119268676972 0 092563 944 896refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
123945839700 0 051535 928 896refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
134469540448 0 053163 944 896refgcc_-O_-fomit-frame-pointer2019112920190816
134469540448 0 053163 944 896refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
1348650154712 0 0170696 952 1024optimized_nonSSEgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
144855039700 0 051535 928 896refgcc_-Os_-fomit-frame-pointer2019112920190816
1689975106876 0 0123768 952 1024optimized_nonSSEgcc_-O_-fomit-frame-pointer2019112920190816
185918744284 0 056875 944 896refgcc_-O2_-fomit-frame-pointer2019112920190816
1956375106660 0 0119264 952 1024optimized_nonSSEgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
2420451106876 0 0123768 952 1024optimized_nonSSEgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
295537539696 0 051559 928 896refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
298867539696 0 051559 928 896refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
3221775374248 0 0395484 936 1024optimized_nonSSEgcc_-funroll-loops2019112920190816
5323980107012 0 0119808 952 1024optimized_nonSSEgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
6415120145788 0 0166951 928 896refcc2019112920190816
9806850145788 0 0166951 928 896refgcc_-funroll-loops2019112920190816
10481175374248 0 0395484 936 1024optimized_nonSSEcc2019112920190816
10827718374248 0 0395484 936 1024optimized_nonSSEgcc2019112920190816
13719600145788 0 0166951 928 896refgcc2019112920190816

Test failure

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
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

Compiler output

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:362:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:488:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:650:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:248:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:374:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:536:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings 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