Implementation notes: aarch64, rockpi4, crypto_aead/schwaemm256128v1

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: schwaemm256128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1428985613 0 024142 928 880optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
1449638593 0 024350 928 880optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
1453765525 0 024062 928 880optgcc_-O3_-fomit-frame-pointer2019091320190816
1462028401 0 024190 928 880optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
1656135421 0 024062 928 880optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
1825464365 0 017606 928 864optgcc_-O2_-fomit-frame-pointer2019091320190816
19039312221 0 027678 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
19204510561 0 025062 936 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
19245811809 0 026422 936 880refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
19824013005 0 029734 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
2238465065 0 018582 936 864refgcc_-O_-fomit-frame-pointer2019091320190816
2238465065 0 018582 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
2316934873 0 018198 936 864refgcc_-O2_-fomit-frame-pointer2019091320190816
27836210433 0 024950 936 880refgcc_-O3_-fomit-frame-pointer2019091320190816
27877517485 0 033326 936 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
27960117245 0 033118 936 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
3089247721 0 022990 928 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
3192497953 0 023326 928 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
32131411861 0 027214 936 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
3370084389 0 017566 928 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
3704614469 0 017790 928 864optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
3774824513 0 022038 928 864optgcc_-O_-fomit-frame-pointer2019091320190816
3774824513 0 022038 928 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
3840908893 0 025526 928 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
3840908893 0 025526 928 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
4039144985 0 018406 936 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
4191954877 0 018158 936 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
43447613005 0 029734 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
4609084545 0 022054 928 864optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
4865145149 0 018662 936 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816

Compiler output

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