Implementation notes: aarch64, rockpi4, crypto_aead/schwaemm128128v1

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: schwaemm128128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2015444133 0 017382 928 864optgcc_-O2_-fomit-frame-pointer2019091320190816
2056744253 0 017478 928 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
2093915037 0 023582 928 880optgcc_-O3_-fomit-frame-pointer2019091320190816
2093918169 0 023974 928 880optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
2110437681 0 022958 928 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
2135214581 0 018014 928 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
2217814933 0 023598 928 880optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
2279768357 0 025006 928 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
27010212241 0 027750 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
29157812405 0 029150 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
3427904641 0 017974 936 864refgcc_-O2_-fomit-frame-pointer2019091320190816
34857216945 0 032846 936 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
3626149905 0 024438 936 880refgcc_-O3_-fomit-frame-pointer2019091320190816
36261416973 0 032854 936 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
3646795133 0 018654 936 864refgcc_-O_-fomit-frame-pointer2019091320190816
3700485133 0 018654 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
3704619929 0 024486 936 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
3704615217 0 018734 936 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
4237388117 0 023934 928 880optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
4258038037 0 023446 928 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
4303465045 0 023614 928 880optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
44975711789 0 027150 936 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
4675164245 0 017582 928 864optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
4984914581 0 018014 928 864optgcc_-O_-fomit-frame-pointer2019091320190816
50799011281 0 025910 936 880refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
5137728357 0 025006 928 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
5381394761 0 018198 936 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
5488774745 0 018054 936 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
5922424613 0 018030 928 864optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
59595912405 0 029150 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
try.c: /usr/bin/ld: 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: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: /usr/bin/ld: 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: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `decryptCT'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
cc opt
gcc opt
gcc -Os -fomit-frame-pointer opt
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops opt
gcc -funroll-loops -Os -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: /usr/bin/ld: 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: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: /usr/bin/ld: 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: /usr/bin/ld: 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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
try.c: /usr/bin/ld: 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: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: /usr/bin/ld: 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: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `processAD'
try.c: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `decryptCT'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
cc ref
gcc ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: /usr/bin/ld: 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: /usr/bin/ld: encrypt.c:(.text+0x...): undefined reference to `encryptPT'
try.c: /usr/bin/ld: 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: /usr/bin/ld: 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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref