Implementation notes: aarch64, hikey960, crypto_aead/schwaemm128128v1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: schwaemm128128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1421284277 0 016834 960 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
1498507485 0 023266 952 896optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
1914757537 0 023282 952 896optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
1914987433 0 022946 952 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816
1998004301 0 018466 952 896optgcc_-O3_-fomit-frame-pointer2019112920190816
2398413801 0 016282 952 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
2416283964 0 015846 944 864refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
2497503845 0 016474 952 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
2497506761 0 020994 960 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
2539438301 0 022546 960 896refgcc_-O3_-fomit-frame-pointer2019112920190816
2664007257 0 023082 952 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
2747258385 0 022578 960 896refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
2754043485 0 015278 936 864optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
3020224125 0 016754 960 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
3507903845 0 016474 952 864optgcc_-O_-fomit-frame-pointer2019112920190816
3507903893 0 016522 952 864optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
3553203924 0 015790 944 864refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
3730864004 0 015870 944 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
3738703449 0 015238 936 864optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
3738707513 0 023066 952 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
39960016573 0 032394 960 896refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
40673011637 0 027266 960 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
4162503449 0 015254 936 864optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
4163003613 0 016162 952 864optgcc_-O2_-fomit-frame-pointer2019112920190816
4163007257 0 023082 952 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
42457516441 0 032298 960 896refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
43290011013 0 026922 960 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
4412253449 0 015238 936 864optgcc_-Os_-fomit-frame-pointer2019112920190816
4495504313 0 018426 952 896optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
4662004157 0 018314 952 896optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
4828503709 0 016258 952 864optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
5494504085 0 016714 960 864refgcc_-O2_-fomit-frame-pointer2019112920190816
5846503449 0 015254 936 864optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
6529744397 0 017106 960 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
6535914385 0 017090 960 864refgcc_-O_-fomit-frame-pointer2019112920190816
6576753964 0 015846 944 864refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
7477403924 0 015790 944 864refgcc_-Os_-fomit-frame-pointer2019112920190816
74774011013 0 026922 960 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
109806111429 0 027018 960 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816
12280854385 0 017090 960 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
try.c: crypto_aead_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_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_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_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_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_opt_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: crypto_aead_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_opt_decrypt':
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_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_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_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_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_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: crypto_aead_schwaemm128128v1.a(encrypt.o): In function `crypto_aead_schwaemm128128v1_ref_decrypt':
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