Implementation notes: riscv64, hifiveunleashedriscv, crypto_stream/aes128estream

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_stream
Primitive: aes128estream
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
786956987 4096 414455 4840 792e/hongjun/v1gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
828704565 4096 412025 4840 792e/hongjun/v0gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
829366304 4096 415308 4848 792e/hongjun/v0gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
829366493 4096 413425 4824 792e/hongjun/v1gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
852354217 4096 411141 4824 792e/hongjun/v0gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
852679244 4096 418256 4848 792e/hongjun/v1gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
921666585 4096 413873 4840 792e/hongjun/v1gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
935664353 4096 411633 4840 792e/hongjun/v0gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1332326580 0 414067 744 792e/bernstein/little-1gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1341118198 0 417230 752 792e/bernstein/little-1gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1355446800 0 414279 744 792e/bernstein/big-1gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1357568498 0 417522 752 792e/bernstein/big-1gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1520456764 0 414063 744 792e/bernstein/big-1gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1526426678 0 413985 744 792e/bernstein/little-1gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1548376460 0 413411 728 792e/bernstein/little-1gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
18497610626 0 417577 728 792e/bernstein/little-4gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1935864246 0 411197 728 792e/bernstein/little-2gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2059414320 0 411271 728 792e/bernstein/little-3gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
21139512006 0 421038 752 792e/bernstein/little-4gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
21156611594 0 419081 744 792e/bernstein/little-4gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2289114548 0 412035 744 792e/bernstein/little-2gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2305095250 0 414282 752 792e/bernstein/little-2gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2306735298 0 414330 752 792e/bernstein/little-3gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2308944602 0 412089 744 792e/bernstein/little-3gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
23996010518 0 417825 744 792e/bernstein/little-4gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2407784312 0 411619 744 792e/bernstein/little-2gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2508164316 0 411623 744 792e/bernstein/little-3gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2711156756 0 413699 728 792e/bernstein/big-1gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221

Compiler output

Implementation: e/gladman
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes-ctr.c: In file included from e/aestab.c:41,
aes-ctr.c: from e/aes-ctr.c:17,
aes-ctr.c: from aes-ctr.c:2:
aes-ctr.c: e/aesopt.h:168:2: error: #error Could not detect endianness
aes-ctr.c: 168 | #error Could not detect endianness
aes-ctr.c: | ^~~~~
aes-ctr.c: In file included from e/aes-ctr.c:17,
aes-ctr.c: from aes-ctr.c:2:
aes-ctr.c: e/aestab.c:153:17: warning: implicit declaration of function 'bytes2word' [-Wimplicit-function-declaration]
aes-ctr.c: 153 | #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: | ^~~~~~~~~~
aes-ctr.c: e/aestab.c:148:5: note: in expansion of macro 'w0'
aes-ctr.c: 148 | w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: | ^
aes-ctr.c: e/aestab.h:106:52: note: in expansion of macro 'rc_data'
aes-ctr.c: 106 | Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: | ^~~~~~~
aes-ctr.c: e/aestab.c:153:17: error: initializer element is not constant
aes-ctr.c: 153 | #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: | ^~~~~~~~~~
aes-ctr.c: e/aestab.c:148:5: note: in expansion of macro 'w0'
aes-ctr.c: 148 | w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: | ^
aes-ctr.c: e/aestab.h:106:52: note: in expansion of macro 'rc_data'
aes-ctr.c: 106 | Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ...

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

Namespace violations

Implementation: e/hongjun/v0
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes-ctr.o T0 D
aes-ctr.o T1 D
aes-ctr.o T2 D
aes-ctr.o T3 D
aes-ctr.o aes128_enc_block T
aes-ctr.o partial_precompute_tworounds T

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

Namespace violations

Implementation: e/hongjun/v1
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes-ctr.o T0 D
aes-ctr.o T1 D
aes-ctr.o T2 D
aes-ctr.o T3 D
aes-ctr.o partial_precompute_tworounds T

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