Implementation notes: aarch64, pi3aplus, crypto_aead/schwaemm256128v1

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: schwaemm256128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3388655445 0 018823 872 864T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231212
34749011201 0 024679 880 864T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231212
3737324485 0 016655 872 848T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231212
4103354993 0 017247 880 848T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231212
4665014557 0 016927 872 848T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231212
4921305153 0 017615 880 848T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231212

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_opt_timingleaks_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: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_opt_timingleaks_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: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_opt_timingleaks_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: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_opt_timingleaks_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: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_ref_timingleaks_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: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_ref_timingleaks_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: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_ref_timingleaks_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: libcrypto_aead_schwaemm256128v1.a(encrypt.o): in function `crypto_aead_schwaemm256128v1_ref_timingleaks_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: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Namespace violations

Implementation: T:opt
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sparkle_opt.o print_state_opt T
sparkle_opt.o sparkle_inv_opt T
sparkle_opt.o sparkle_opt T
sparkle_opt.o test_sparkle_opt T
util.o C_SEED R
util.o feistelSwap T
util.o load32 T
util.o pad T
util.o rho1 T
util.o rho2 T
util.o rhop1 T
util.o sparklePermutation T
util.o store32 T

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sparkle_ref.o linear_layer T
sparkle_ref.o linear_layer_inv T
sparkle_ref.o print_state_ref T
sparkle_ref.o sparkle_inv_ref T
sparkle_ref.o sparkle_ref T
sparkle_ref.o test_sparkle_ref T
util.o C_SEED R
util.o feistelSwap T
util.o load32 T
util.o pad T
util.o rho1 T
util.o rho2 T
util.o rhop1 T
util.o sparklePermutation T
util.o store32 T

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref