Implementation notes: aarch64, supercoplxc, crypto_aead/schwaemm256256v1

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: schwaemm256256v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
40816017153 0 032552 936 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019092420190816
40928010021 0 028160 936 880refgcc_-O3_-fomit-frame-pointer2019092420190816
41000017017 0 032400 936 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019092420190816
42320010061 0 024128 936 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019092420190816
5382405125 0 023176 928 880optgcc_-O3_-fomit-frame-pointer2019092420190816
5527204261 0 017000 928 864optgcc_-O2_-fomit-frame-pointer2019092420190816
5556807537 0 022312 928 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019092420190816
5732008185 0 023472 928 880optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019092420190816
5772007817 0 022720 928 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019092420190816
5792008297 0 023600 928 880optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019092420190816
5860005149 0 023224 928 880optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019092420190816
60136011701 0 026552 936 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019092420190816
6037604253 0 016976 928 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019092420190816
61968012141 0 027136 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019092420190816
6775204493 0 017416 928 864optgcc_-O_-fomit-frame-pointer2019092420190816
6776004493 0 017416 928 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019092420190816
7018408225 0 024368 928 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019092420190816
7118404769 0 017600 936 864refgcc_-O2_-fomit-frame-pointer2019092420190816
7228008225 0 024368 928 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019092420190816
7395204741 0 017560 936 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019092420190816
78256012393 0 028624 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019092420190816
78320012393 0 028624 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019092420190816
8054405045 0 018064 936 864refgcc_-O_-fomit-frame-pointer2019092420190816
8059205045 0 018064 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019092420190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
try.c: /usr/bin/ld: crypto_aead_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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: 7, 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

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: /usr/bin/ld: crypto_aead_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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: 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_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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: 7, 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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
try.c: /usr/bin/ld: crypto_aead_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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_schwaemm256256v1.a(encrypt.o): in function `crypto_aead_schwaemm256256v1_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: 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