Implementation notes: amd64, hertz, crypto_aead/aes128marble4rv1

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: aes128marble4rv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
21369729492 0 045019 828 1096T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
24723425567 0 039374 804 1064T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:34:2: error: call to undeclared library function 'free' with type 'void (void *)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
encrypt.c: 34 | 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: 1 error generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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: 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'

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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: 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: In function 'rotate1',
marble.c: inlined from 'mix' at marble.c:150:2:
marble.c: marble.c:142:22: warning: writing 32 bytes into a region of size 16 [-Wstringop-overflow=]
marble.c: 142 | x[i] = (x[i] << 1) ^ (x[i+1] >> 7);
marble.c: | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
marble.c: marble.c: In function 'mix':
marble.c: marble.c:148:14: note: destination object 'temp' of size 16
marble.c: 148 | byte temp[SLEN];
marble.c: | ^~~~
marble.c: In function 'rotate1',
marble.c: inlined from 'mix' at marble.c:150:2:
marble.c: marble.c:142:22: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
marble.c: 142 | x[i] = (x[i] << 1) ^ (x[i+1] >> 7);
marble.c: | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
marble.c: marble.c: In function 'mix':
marble.c: marble.c:148:14: note: at offset [32, 48] into destination object 'temp' of size 16
marble.c: 148 | byte temp[SLEN];
marble.c: | ^~~~
marble.c: In function 'rotate1',
marble.c: inlined from 'mix' at marble.c:150:2:
marble.c: marble.c:142:22: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=]
marble.c: 142 | x[i] = (x[i] << 1) ^ (x[i+1] >> 7);
marble.c: | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
marble.c: marble.c: In function 'mix':
marble.c: marble.c:148:14: note: at offset [64, 80] into destination object 'temp' of size 16
marble.c: ...

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