Implementation notes: aarch64, pi3bplus, crypto_aead/aes128gcmv1

Computer: pi3bplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 202311020231107
Operation: crypto_aead
Primitive: aes128gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2320001012 0 020420 912 864T:opensslnewgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107
232875848 0 018949 904 856T:opensslnewgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107
233000916 0 021237 920 880T:opensslnewgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107
233375916 0 020397 920 880T:opensslnewgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107
57286253448 0 1626183 824 904T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107
60535001832 0 1623727 824 904T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107
439492501976 0 1623814 816 880T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107
563377501708 0 1622255 808 872T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111220231107

Compiler output

Implementation: T:dolbeau/armv8crypto
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
armv8crypto.c: In file included from armv8crypto.c:11:
armv8crypto.c: /usr/lib/gcc/aarch64-linux-gnu/12/include/arm_neon.h: In function 'aes_armv8_encrypt1':
armv8crypto.c: /usr/lib/gcc/aarch64-linux-gnu/12/include/arm_neon.h:10251:1: error: inlining failed in call to 'always_inline' 'vaeseq_u8': target specific option mismatch
armv8crypto.c: 10251 | vaeseq_u8 (uint8x16_t data, uint8x16_t key)
armv8crypto.c: | ^~~~~~~~~
armv8crypto.c: armv8crypto.c:82:10: note: called from here
armv8crypto.c: 82 | temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
armv8crypto.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armv8crypto.c: /usr/lib/gcc/aarch64-linux-gnu/12/include/arm_neon.h:10251:1: error: inlining failed in call to 'always_inline' 'vaeseq_u8': target specific option mismatch
armv8crypto.c: 10251 | vaeseq_u8 (uint8x16_t data, uint8x16_t key)
armv8crypto.c: | ^~~~~~~~~
armv8crypto.c: armv8crypto.c:82:10: note: called from here
armv8crypto.c: 82 | temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
armv8crypto.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_timingleaks_decrypt':
decrypt.c: decrypt.c:13:18: error: storage size of 'x' isn't known
decrypt.c: 13 | EVP_CIPHER_CTX x;
decrypt.c: | ^

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

Compiler output

Implementation: rust_aes_gcm
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: Alarm clock

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

Compiler output

Implementation: T:rust_crypto
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: error: failed to get `cc` as a dependency of package `crypto_aead_aes128gcmv1 v0.1.0 (/home/djb/supercop-data/pi3bplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE/timingleaks/crypto_aead/aes128gcmv1/rust_crypto/work)`
try.c:
try.c: Caused by:
try.c: failed to load source for dependency `cc`
try.c:
try.c: Caused by:
try.c: Unable to update registry `crates-io`
try.c:
try.c: Caused by:
try.c: failed to fetch `https://github.com/rust-lang/crates.io-index`
try.c:
try.c: Caused by:
try.c: cannot extend packfile '/home/djb/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/objects/pack/pack_git2_c2cd9181fddff376': No space left on device; class=Os (2)

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

Compiler output

Implementation: T:rust_crypto
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: error: failed to get `cc` as a dependency of package `crypto_aead_aes128gcmv1 v0.1.0 (/home/djb/supercop-data/pi3bplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE/timingleaks/crypto_aead/aes128gcmv1/rust_crypto/work)`
try.c:
try.c: Caused by:
try.c: failed to load source for dependency `cc`
try.c:
try.c: Caused by:
try.c: Unable to update registry `crates-io`
try.c:
try.c: Caused by:
try.c: failed to fetch `https://github.com/rust-lang/crates.io-index`
try.c:
try.c: Caused by:
try.c: cannot extend packfile '/home/djb/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/objects/pack/pack_git2_1f8b3845e096d2d9': No space left on device; class=Os (2)

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

Compiler output

Implementation: T:rust_crypto
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: error: failed to get `cc` as a dependency of package `crypto_aead_aes128gcmv1 v0.1.0 (/home/djb/supercop-data/pi3bplus/aarch64/try/c/gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE/timingleaks/crypto_aead/aes128gcmv1/rust_crypto/work)`
try.c:
try.c: Caused by:
try.c: failed to load source for dependency `cc`
try.c:
try.c: Caused by:
try.c: Unable to update registry `crates-io`
try.c:
try.c: Caused by:
try.c: failed to fetch `https://github.com/rust-lang/crates.io-index`
try.c:
try.c: Caused by:
try.c: cannot extend packfile '/home/djb/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/objects/pack/pack_git2_6659859cd33be54d': No space left on device; class=Os (2)

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

Compiler output

Implementation: T:rust_crypto
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: error: failed to get `cc` as a dependency of package `crypto_aead_aes128gcmv1 v0.1.0 (/home/djb/supercop-data/pi3bplus/aarch64/try/c/gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE/timingleaks/crypto_aead/aes128gcmv1/rust_crypto/work)`
try.c:
try.c: Caused by:
try.c: failed to load source for dependency `cc`
try.c:
try.c: Caused by:
try.c: Unable to update registry `crates-io`
try.c:
try.c: Caused by:
try.c: failed to fetch `https://github.com/rust-lang/crates.io-index`
try.c:
try.c: Caused by:
try.c: cannot extend packfile '/home/djb/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/objects/pack/pack_git2_81d62b569751e6bd': No space left on device; class=Os (2)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:rust_crypto