Implementation notes: aarch64, pmnod145, crypto_aead/elmd500v1

Computer: pmnod145
Architecture: aarch64
CPU ID: 431f0af1
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: elmd500v1

Compiler output

Implementation: ref
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
encrypt.c: In file included from encrypt.c:12:
encrypt.c: ./module.h:84:3: warning: implicit declaration of function 'AES_set_encrypt_key_5' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: AES_set_encrypt_key_5(key, 128, &aes_key2);
encrypt.c: ^
encrypt.c: ./module.h:85:3: warning: implicit declaration of function 'AES_set_decrypt_key_5' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: AES_set_decrypt_key_5(key, 128, &aes_key4);
encrypt.c: ^
encrypt.c: ./module.h:103:4: warning: implicit declaration of function 'AES_encrypt_r5' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: AES_encrypt_r5(inp, res, key);
encrypt.c: ^
encrypt.c: ./module.h:105:4: warning: implicit declaration of function 'AES_decrypt_r5' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: AES_decrypt_r5(inp, res, key);
encrypt.c: ^
encrypt.c: 4 warnings generated.
try.c: /dibona_home_nfs/rdolbeau/opt/arm/gcc-8.2.0_Generic-AArch64_RHEL-7_aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `crypto_aead_elmd500v1_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_set_encrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/opt/arm/gcc-8.2.0_Generic-AArch64_RHEL-7_aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_set_decrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/opt/arm/gcc-8.2.0_Generic-AArch64_RHEL-7_aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `process_block':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/opt/arm/gcc-8.2.0_Generic-AArch64_RHEL-7_aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/opt/arm/gcc-8.2.0_Generic-AArch64_RHEL-7_aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/opt/arm/gcc-8.2.0_Generic-AArch64_RHEL-7_aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `crypto_aead_elmd500v1_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_set_encrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/opt/arm/gcc-8.2.0_Generic-AArch64_RHEL-7_aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_set_decrypt_key_5'
try.c: clang-7: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE ref
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from encrypt.c:12:
encrypt.c: module.h: In function 'key_schedule':
encrypt.c: module.h:84:3: warning: implicit declaration of function 'AES_set_encrypt_key_5'; did you mean 'AES_set_encrypt_key'? [-Wimplicit-function-declaration]
encrypt.c: 84 | AES_set_encrypt_key_5(key, 128, &aes_key2);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: | AES_set_encrypt_key
encrypt.c: module.h:85:3: warning: implicit declaration of function 'AES_set_decrypt_key_5'; did you mean 'AES_set_decrypt_key'? [-Wimplicit-function-declaration]
encrypt.c: 85 | AES_set_decrypt_key_5(key, 128, &aes_key4);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: | AES_set_decrypt_key
encrypt.c: module.h: In function 'AES':
encrypt.c: module.h:103:4: warning: implicit declaration of function 'AES_encrypt_r5'; did you mean 'AES_encrypt'? [-Wimplicit-function-declaration]
encrypt.c: 103 | AES_encrypt_r5(inp, res, key);
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: | AES_encrypt
encrypt.c: module.h:105:4: warning: implicit declaration of function 'AES_decrypt_r5'; did you mean 'AES_decrypt'? [-Wimplicit-function-declaration]
encrypt.c: 105 | AES_decrypt_r5(inp, res, key);
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: | AES_decrypt
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `key_schedule':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_set_encrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_set_decrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `process_block':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from encrypt.c:12:
encrypt.c: module.h: In function 'key_schedule':
encrypt.c: module.h:84:3: warning: implicit declaration of function 'AES_set_encrypt_key_5'; did you mean 'AES_set_encrypt_key'? [-Wimplicit-function-declaration]
encrypt.c: 84 | AES_set_encrypt_key_5(key, 128, &aes_key2);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: | AES_set_encrypt_key
encrypt.c: module.h:85:3: warning: implicit declaration of function 'AES_set_decrypt_key_5'; did you mean 'AES_set_decrypt_key'? [-Wimplicit-function-declaration]
encrypt.c: 85 | AES_set_decrypt_key_5(key, 128, &aes_key4);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: | AES_set_decrypt_key
encrypt.c: module.h: In function 'AES':
encrypt.c: module.h:103:4: warning: implicit declaration of function 'AES_encrypt_r5'; did you mean 'AES_encrypt'? [-Wimplicit-function-declaration]
encrypt.c: 103 | AES_encrypt_r5(inp, res, key);
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: | AES_encrypt
encrypt.c: module.h:105:4: warning: implicit declaration of function 'AES_decrypt_r5'; did you mean 'AES_decrypt'? [-Wimplicit-function-declaration]
encrypt.c: 105 | AES_decrypt_r5(inp, res, key);
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: | AES_decrypt
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `process_AD':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `crypto_aead_elmd500v1_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_set_encrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_set_decrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `crypto_aead_elmd500v1_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_set_encrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_set_decrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from encrypt.c:12:
encrypt.c: module.h: In function 'key_schedule':
encrypt.c: module.h:84:3: warning: implicit declaration of function 'AES_set_encrypt_key_5'; did you mean 'AES_set_encrypt_key'? [-Wimplicit-function-declaration]
encrypt.c: 84 | AES_set_encrypt_key_5(key, 128, &aes_key2);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: | AES_set_encrypt_key
encrypt.c: module.h:85:3: warning: implicit declaration of function 'AES_set_decrypt_key_5'; did you mean 'AES_set_decrypt_key'? [-Wimplicit-function-declaration]
encrypt.c: 85 | AES_set_decrypt_key_5(key, 128, &aes_key4);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~
encrypt.c: | AES_set_decrypt_key
encrypt.c: module.h: In function 'AES':
encrypt.c: module.h:103:4: warning: implicit declaration of function 'AES_encrypt_r5'; did you mean 'AES_encrypt'? [-Wimplicit-function-declaration]
encrypt.c: 103 | AES_encrypt_r5(inp, res, key);
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: | AES_encrypt
encrypt.c: module.h:105:4: warning: implicit declaration of function 'AES_decrypt_r5'; did you mean 'AES_decrypt'? [-Wimplicit-function-declaration]
encrypt.c: 105 | AES_decrypt_r5(inp, res, key);
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: | AES_decrypt
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `key_schedule':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_set_encrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_set_decrypt_key_5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_elmd500v1.a(encrypt.o): in function `process_block':
try.c: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_decrypt_r5'
try.c: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `AES_encrypt_r5'
try.c: collect2: error: ld returned 1 exit status

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