Implementation notes: amd64, genji346, crypto_aead/elmd600v2

Computer: genji346
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: elmd600v2

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: In file included from encrypt.c:12:
encrypt.c: ./module.h:45:39: error: unknown type name 'u8'
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c: ./module.h:45:53: error: unknown type name 'u8'
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c: ./module.h:45:61: error: unknown type name 'u8'
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c: ./module.h:45:70: error: unknown type name 'u8'
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c: ./module.h:51:25: error: unknown type name 'u8'
encrypt.c: static void store_bytes(u8 *b, block Blk, int first, int last){int i;
encrypt.c: ^
encrypt.c: ./module.h:68:33: error: unknown type name 'u8'
encrypt.c: static void key_schedule( const u8 *key)
encrypt.c: ^
encrypt.c: ./module.h:83:3: warning: implicit declaration of function 'AES_set_encrypt_key_6' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: AES_set_encrypt_key_6(key, 128, &aes_key1);
encrypt.c: ^
encrypt.c: ./module.h:84:3: warning: implicit declaration of function 'AES_set_decrypt_key_6' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: AES_set_decrypt_key_6(key, 128, &aes_key2);
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -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:45:39: error: unknown type name 'u8'
encrypt.c: 45 | static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: | ^~
encrypt.c: module.h:45:53: error: unknown type name 'u8'
encrypt.c: 45 | static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: | ^~
encrypt.c: module.h:45:61: error: unknown type name 'u8'
encrypt.c: 45 | static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: | ^~
encrypt.c: module.h:45:70: error: unknown type name 'u8'
encrypt.c: 45 | static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: | ^~
encrypt.c: module.h:51:25: error: unknown type name 'u8'
encrypt.c: 51 | static void store_bytes(u8 *b, block Blk, int first, int last){int i;
encrypt.c: | ^~
encrypt.c: module.h:68:33: error: unknown type name 'u8'
encrypt.c: 68 | static void key_schedule( const u8 *key)
encrypt.c: | ^~
encrypt.c: module.h: In function 'key_schedule':
encrypt.c: module.h:78:23: warning: passing argument 1 of 'AES_set_encrypt_key' from incompatible pointer type [-Wincompatible-pointer-types]
encrypt.c: 78 | AES_set_encrypt_key(key, 128, &aes_key1);
encrypt.c: | ^~~
encrypt.c: | |
encrypt.c: | const int *
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -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: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
encrypt.c: In file included from encrypt.c(12):
encrypt.c: module.h(45): error: identifier "u8" is undefined
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c:
encrypt.c: In file included from encrypt.c(12):
encrypt.c: module.h(45): error: identifier "u8" is undefined
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c:
encrypt.c: In file included from encrypt.c(12):
encrypt.c: module.h(45): error: identifier "u8" is undefined
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c:
encrypt.c: In file included from encrypt.c(12):
encrypt.c: module.h(45): error: identifier "u8" is undefined
encrypt.c: static void load_block(block L, const u8 *a1, const u8 *a2, u8 len1, u8 len2){
encrypt.c: ^
encrypt.c:
encrypt.c: In file included from encrypt.c(12):
encrypt.c: module.h(51): error: identifier "u8" is undefined
encrypt.c: static void store_bytes(u8 *b, block Blk, int first, int last){int i;
encrypt.c: ^
encrypt.c:
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer ref
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer ref
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer ref
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer ref
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer ref
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer ref
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer ref
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer ref
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer ref
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer ref
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer ref
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer ref
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer ref
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer ref
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer ref
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer ref
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer ref