Implementation notes: amd64, samba, crypto_aead/aes128marble4rv1

Computer: samba
Microarchitecture: amd64; Skylake (506e3)
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aes128marble4rv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
19165536002 0 052750 860 1024T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
19644736315 0 054310 860 1056T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
19697037019 0 055310 860 1088T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
20411549802 0 067483 828 1088T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
23288730223 0 044582 860 1024T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
23458428586 0 044083 828 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
23563626424 0 040254 804 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
23822327989 0 043171 828 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
25702426588 0 041728 852 1088T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


aes_core.c: aes_core.c:892:12: warning: unused variable 'status' [-Wunused-variable]
aes_core.c:         int i, j, status;
aes_core.c:                   ^
aes_core.c: 1 warning generated.
encrypt.c: encrypt.c:34:2: warning: implicitly declaring library function 'free' with type 'void (void *)' [-Wimplicit-function-declaration]
encrypt.c:         free(cxt);
encrypt.c:         ^
encrypt.c: encrypt.c:34:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'free'
encrypt.c: encrypt.c:19:16: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:         unsigned char tag[CRYPTO_ABYTES];
encrypt.c:                       ^
encrypt.c: 2 warnings generated.
marble.c: marble.c:223:7: warning: unused variable 'temp' [-Wunused-variable]
marble.c:         byte temp[SLEN];
marble.c:              ^
marble.c: marble.c:281:7: warning: unused variable 'temp' [-Wunused-variable]
marble.c:         byte temp[SLEN];
marble.c:              ^
marble.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


aes_core.c: aes_core.c: In function 'AES_set_4round_decrypt_key':
aes_core.c: aes_core.c:892:19: warning: unused variable 'status' [-Wunused-variable]
aes_core.c:   892 |         int i, j, status;
aes_core.c:       |                   ^~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:34:9: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
encrypt.c:    34 |         free(cxt);
encrypt.c:       |         ^~~~
encrypt.c: encrypt.c:5:1: note: include '<stdlib.h>' or provide a declaration of 'free'
encrypt.c:     4 | #include "marble.h"
encrypt.c:   +++ |+#include <stdlib.h>
encrypt.c:     5 |
encrypt.c: encrypt.c:34:9: warning: incompatible implicit declaration of built-in function 'free' [-Wbuiltin-declaration-mismatch]
encrypt.c:    34 |         free(cxt);
encrypt.c:       |         ^~~~
encrypt.c: encrypt.c:34:9: note: include '<stdlib.h>' or provide a declaration of 'free'
encrypt.c: encrypt.c:19:23: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c:    19 |         unsigned char tag[CRYPTO_ABYTES];
encrypt.c:       |                       ^~~
encrypt.c: encrypt.c: In function 'crypto_aead_aes128marble4rv1_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:67:9: warning: incompatible implicit declaration of built-in function 'free' [-Wbuiltin-declaration-mismatch]
encrypt.c:    67 |         free(cxt);
encrypt.c:       |         ^~~~
encrypt.c: encrypt.c:67:9: note: include '<stdlib.h>' or provide a declaration of 'free'
marble.c: marble.c: In function 'ae_encrypt':
marble.c: marble.c:223:14: warning: unused variable 'temp' [-Wunused-variable]
marble.c:   223 |         byte temp[SLEN];
marble.c:       |              ^~~~
marble.c: marble.c: In function 'ae_decrypt':
marble.c: marble.c:281:14: warning: unused variable 'temp' [-Wunused-variable]
marble.c:   281 |         byte temp[SLEN];
marble.c:       |              ^~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)