Implementation notes: riscv64, hifiveunleashedriscv, crypto_aead/hs1sivlov2

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_aead
Primitive: hs1sivlov2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
759446536 0 017100 768 848fastergcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1306584689 0 017389 776 848refgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1599034377 0 015586 768 848refgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1769683851 0 013763 760 848refgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1959634817 0 015277 776 848refgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221

Test failure

Implementation: faster
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE faster
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE faster
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE faster

Compiler output

Implementation: faster
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hs1.c: hs1.c: In function 'hs1siv_decrypt':
hs1.c: hs1.c:1033:30: warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
hs1.c: 1033 | unsigned char *tmp = malloc(abytes);
hs1.c: | ^~~~~~
hs1.c: hs1.c:1033:30: warning: incompatible implicit declaration of built-in function 'malloc'
hs1.c: hs1.c:25:1: note: include '<stdlib.h>' or provide a declaration of 'malloc'
hs1.c: 24 | #include "crypto_aead.h"
hs1.c: +++ |+#include <stdlib.h>
hs1.c: 25 |
hs1.c: hs1.c:1037:9: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
hs1.c: 1037 | free(tmp);
hs1.c: | ^~~~
hs1.c: hs1.c:1037:9: warning: incompatible implicit declaration of built-in function 'free'
hs1.c: hs1.c:1037:9: note: include '<stdlib.h>' or provide a declaration of 'free'

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE faster
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE faster
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE faster
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE faster

Namespace violations

Implementation: faster
Security model: unknown
Compiler: gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
hs1.o chacha_blocks T
hs1.o hash_finalize T
hs1.o hash_step T
hs1.o hs1 T
hs1.o hs1_bzero T
hs1.o hs1_gen_siv T
hs1.o hs1_memcpy T
hs1.o hs1_setup T
hs1.o hs1siv_decrypt T
hs1.o hs1siv_encrypt T
hs1.o poly_finalize T

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.o chacha T
encrypt.o chacha_ivsetup T
encrypt.o chacha_keysetup T
encrypt.o hs1 T
encrypt.o hs1_hash T
encrypt.o hs1siv_chacha256 T
encrypt.o hs1siv_decrypt T
encrypt.o hs1siv_encrypt T
encrypt.o hs1siv_subkeygen T
encrypt.o prf_hash2 T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref