Implementation notes: riscv64, hifiveunleashedriscv, crypto_aead/knot128v2

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_aead
Primitive: knot128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6231286398 127 015997 887 848refgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6729522490 127 010618 879 848refgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
7911102038 127 09482 863 848refgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
8305942244 127 09996 879 848refgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221

Test failure

Implementation: opt
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: 4, namely:
CompilerImplementations
gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=rv64gc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=rv64gc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=rv64gc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c:30: warning: "LITTLE_ENDIAN" redefined
encrypt.c: 30 | #define LITTLE_ENDIAN
encrypt.c: |
encrypt.c: In file included from /usr/include/riscv64-linux-gnu/sys/types.h:176,
encrypt.c: from /usr/include/stdlib.h:394,
encrypt.c: from encrypt.c:4:
encrypt.c: /usr/include/endian.h:45: note: this is the location of the previous definition
encrypt.c: 45 | # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c: |
encrypt.c: encrypt.c:42: warning: "EXT_BYTE32" redefined
encrypt.c: 42 | #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c: |
encrypt.c: encrypt.c:33: note: this is the location of the previous definition
encrypt.c: 33 | #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c: |
encrypt.c: encrypt.c:43: warning: "INS_BYTE32" redefined
encrypt.c: 43 | #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c: |
encrypt.c: encrypt.c:34: note: this is the location of the previous definition
encrypt.c: 34 | #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c: |
encrypt.c: encrypt.c:44: warning: "U32BIG" redefined
encrypt.c: 44 | #define U32BIG(x) \
encrypt.c: |
encrypt.c: encrypt.c:35: note: this is the location of the previous definition
encrypt.c: ...

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.o constant7 D
encrypt.o load32 T
encrypt.o load64 T
encrypt.o permutation384 T
encrypt.o store32 T
encrypt.o store64 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