Implementation notes: riscv64, hifiveunleashedriscv, crypto_hash/shake256

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: shake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
696941066 0 062636 736 728oncore64bitsgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
69943646 0 060438 720 728oncore64bitsgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
69968756 0 060926 736 728oncore64bitsgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
70084740 0 060806 736 728oncore64bitsgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9304820968 0 026918 720 728gil/singlefile_unrolledgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9783220970 0 027190 736 728gil/singlefile_unrolledgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
98641144 0 06854 792 728opensslgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
98744136 0 06950 792 728opensslgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
98777136 0 08423 800 728opensslgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
98955124 0 06564 776 728opensslgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1030342594 0 08818 736 728gil/singlefilegcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1050731606 0 07548 720 728gil/singlefilegcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
11368226968 0 034684 736 728gil/singlefile_unrolledgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
12589226532 0 032856 736 728gil/singlefile_unrolledgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1304273614 0 011338 736 728gil/singlefilegcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1387763226 0 09554 736 728gil/singlefilegcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2155441756 0 021814 736 728oncore32bitsgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2156171756 0 023214 736 728oncore32bitsgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2167101760 0 021440 720 728oncore32bitsgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2172081890 0 021844 736 728oncore32bitsgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221

Compiler output

Implementation: kcp/optimized1600ARMv7A
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:1: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:2: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:3: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:4: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:5: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:6: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:7: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:8: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:9: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:10: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:11: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:12: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:13: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:14: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:16: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:17: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:18: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:23: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:24: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:26: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:53: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:269: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:270: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:271: Error: junk at end of line, first unrecognized character is `@'
keccak.s: ...

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

Compiler output

Implementation: kcp/optimized1600ARMv8A
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:1: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:2: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:3: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:4: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:6: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:7: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:8: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:9: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:11: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:12: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:13: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:14: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:15: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:17: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:18: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:19: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:20: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:22: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:23: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:24: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:25: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:27: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:29: Error: junk at end of line, first unrecognized character is `/'
keccak.s: keccak.s:30: Error: junk at end of line, first unrecognized character is `/'
keccak.s: ...

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

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: unknown
Compiler: g++ -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:18:14: fatal error: x86intrin.h: No such file or directory
KeccakP-1600-AVX2.cpp: 18 | #include <x86intrin.h>
KeccakP-1600-AVX2.cpp: | ^~~~~~~~~~~~~
KeccakP-1600-AVX2.cpp: compilation terminated.

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

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:24:10: fatal error: smmintrin.h: No such file or directory
KeccakP-1600-AVX512.c: 24 | #include <smmintrin.h>
KeccakP-1600-AVX512.c: | ^~~~~~~~~~~~~
KeccakP-1600-AVX512.c: compilation terminated.

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

Compiler output

Implementation: usekcp
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c:1:10: fatal error: libkeccak.a.headers/KeccakSpongeWidth1600.h: No such file or directory
hash.c: 1 | #include <libkeccak.a.headers/KeccakSpongeWidth1600.h>
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: compilation terminated.

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