Implementation notes: aarch64, hikey960, crypto_aead/schwaemm192192v1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: schwaemm192192v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
977137669 0 023434 952 896optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
1421283821 0 016466 952 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
1914757525 0 023322 952 896optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
2247754477 0 018650 952 896optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
2414253573 0 016138 952 864optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
2497508805 0 023018 960 896refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
24975016513 0 032386 960 896refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
2539433989 0 016634 960 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
25807511209 0 027130 960 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
25807511209 0 027130 960 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
2747584221 0 016946 960 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
2830503724 0 015606 944 864refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
2830503764 0 015662 944 864refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
2923253249 0 015070 936 864optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
2931393997 0 016570 960 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
2997003513 0 016074 952 864optgcc_-O2_-fomit-frame-pointer2019112920190816
2997003521 0 016018 952 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
2997003804 0 015686 944 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
3274043717 0 016362 952 864optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
32740411953 0 027602 960 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
3464373724 0 015606 944 864refgcc_-Os_-fomit-frame-pointer2019112920190816
35797516769 0 032610 960 896refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
3738708645 0 022906 960 896refgcc_-O3_-fomit-frame-pointer2019112920190816
3912754613 0 018794 952 896optgcc_-O3_-fomit-frame-pointer2019112920190816
41625011465 0 027074 960 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816
4412254361 0 017082 960 864refgcc_-O_-fomit-frame-pointer2019112920190816
5078257113 0 021362 960 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
5474854669 0 018802 952 896optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
5846503821 0 016466 952 864optgcc_-O_-fomit-frame-pointer2019112920190816
6197293249 0 015054 936 864optgcc_-Os_-fomit-frame-pointer2019112920190816
6327004361 0 017082 960 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
7015803285 0 015094 936 864optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
7492507765 0 023338 952 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
8185107389 0 023234 952 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
8241753249 0 015070 936 864optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
8325003249 0 015054 936 864optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
9237473764 0 015662 944 864refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
10323003985 0 016626 960 864refgcc_-O2_-fomit-frame-pointer2019112920190816
10698917389 0 023234 952 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
11216107429 0 022962 952 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_opt_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_opt_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `decryptCT'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc opt
gcc opt
gcc -funroll-loops opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_opt_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_opt_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `decryptCT'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `decryptCT'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc ref
gcc ref
gcc -funroll-loops ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: crypto_aead_schwaemm192192v1.a(encrypt.o): In function `crypto_aead_schwaemm192192v1_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `initialize'
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `decryptCT'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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