Implementation notes: amd64, speed2supercop, crypto_aead/aes128marble4rv1

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aes128marble4rv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
20415247949 0 063924 768 928T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
26371627363 0 041340 768 928T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
27501226870 0 040652 768 928T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
28233624816 0 037279 744 896T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625

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: 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:         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: 1 warning and 1 error generated.

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

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 (13.3.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)