Implementation notes: riscv64, hifiveunleashedriscv, crypto_hash/keccakc256

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: keccakc256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5719658554 0 064408 720 728opt64lcu24gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
5891358478 0 064606 736 728opt64lcu24gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6100716986 0 022840 720 728opt64lcu6gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6128716950 0 023078 736 728opt64lcu6gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
637602390 0 08316 720 728simplegcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
643824072 0 09998 720 728inplacegcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6493318114 0 023960 720 728opt64u6gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
655484014 0 010214 736 728inplacegcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6560018048 0 024168 736 728opt64u6gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
675132402 0 08602 736 728simplegcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
7672372484 0 080100 736 728opt64lcu24gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
7673272246 0 078478 736 728opt64lcu24gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
7894320716 0 026948 736 728opt64lcu6gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
7943020704 0 028320 736 728opt64lcu6gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
8863922598 0 028822 736 728opt64u6gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
8960622590 0 030198 736 728opt64u6gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
932009800 0 017504 736 728inplacegcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
932015150 0 011454 736 728inplacegcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
975932978 0 09282 736 728simplegcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
990255560 0 013264 736 728simplegcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1554304942 0 012618 736 728compactgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
16161625808 0 031658 720 728opt32bi-s2lcu4gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
16383415230 0 021080 720 728opt32bi-rvku2gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1672395342 0 011276 720 728simple32bigcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
16918726656 0 032780 736 728opt32bi-s2lcu4gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
17608525476 0 431444 736 262872opt32biT-s2lcu4gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
17680515326 0 021450 736 728opt32bi-rvku2gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1788705460 0 011668 736 728simple32bigcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1803099402 0 015340 720 728inplace32bigcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1871729624 0 015836 736 728inplace32bigcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
18802826364 0 432606 752 262872opt32biT-s2lcu4gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
23709737316 0 043544 736 728opt32bi-s2lcu4gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
23957137880 0 045500 736 728opt32bi-s2lcu4gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
25572238752 0 446498 752 262872opt32biT-s2lcu4gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
25628437072 0 443412 752 262872opt32biT-s2lcu4gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
25643713098 0 019414 736 728inplace32bigcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
25917113476 0 021196 736 728inplace32bigcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
27666322630 0 030250 736 728opt32bi-rvku2gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2766887830 0 014142 736 728simple32bigcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
28118022426 0 028654 736 728opt32bi-rvku2gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
28166815182 0 022898 736 728simple32bigcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
3188361736 0 08016 736 728compactgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
3352311538 0 07440 720 728compactgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
4174211638 0 07814 736 728compactgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
5828771222 192 07126 912 728compact8gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6093691378 192 07668 928 728compact8gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6175741230 192 07408 928 728compact8gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6459083400 192 011076 928 728compact8gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221

Namespace violations

Implementation: compact
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-compact.o Final T
Keccak-compact.o Init T
Keccak-compact.o KeccakF T
Keccak-compact.o KeccakF_Mod5 R
Keccak-compact.o KeccakF_PiLane R
Keccak-compact.o KeccakF_RotationConstants R
Keccak-compact.o KeccakF_RoundConstants R
Keccak-compact.o Update T

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

Namespace violations

Implementation: compact8
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-compact8.o Final T
Keccak-compact8.o Init T
Keccak-compact8.o KeccakF T
Keccak-compact8.o Update T
Keccak-compact8.o rotate64_1bit_left T
Keccak-compact8.o rotate64left T
Keccak-compact8.o xorBytes T
Keccak-compact8.o xorLanes T

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

Namespace violations

Implementation: inplace
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-inplace.o KeccakF T
Keccak-inplace.o KeccakF1600RoundConstants R

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

Namespace violations

Implementation: inplace32bi
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-inplace32BI.o KeccakF T
Keccak-inplace32BI.o extractFromState T

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

Namespace violations

Implementation: opt32bi-rvku2
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt32.o KeccakAbsorb T
KeccakF-1600-opt32.o KeccakAbsorb1344bits T
KeccakF-1600-opt32.o KeccakExtract T
KeccakF-1600-opt32.o KeccakInitialize T
KeccakF-1600-opt32.o KeccakInitializeState T
KeccakF-1600-opt32.o KeccakPermutation T
KeccakF-1600-opt32.o KeccakPermutationOnWords T
KeccakF-1600-opt32.o KeccakPermutationOnWordsAfterXoring T
KeccakF-1600-opt32.o KeccakPermutationOnWordsAfterXoring1344bits T
KeccakF-1600-opt32.o fromInterleaving T
KeccakF-1600-opt32.o setInterleavedWordsInto8bytes T
KeccakSponge.o Absorb T
KeccakSponge.o AbsorbQueue T
KeccakSponge.o InitSponge T
KeccakSponge.o PadAndSwitchToSqueezingPhase T
KeccakSponge.o Squeeze T

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

Namespace violations

Implementation: opt32bi-s2lcu4
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt32.o KeccakAbsorb T
KeccakF-1600-opt32.o KeccakAbsorb1344bits T
KeccakF-1600-opt32.o KeccakExtract T
KeccakF-1600-opt32.o KeccakF1600RoundConstants_int2_0 R
KeccakF-1600-opt32.o KeccakF1600RoundConstants_int2_1 R
KeccakF-1600-opt32.o KeccakInitialize T
KeccakF-1600-opt32.o KeccakInitializeState T
KeccakF-1600-opt32.o KeccakPermutation T
KeccakF-1600-opt32.o KeccakPermutationOnWords T
KeccakF-1600-opt32.o KeccakPermutationOnWordsAfterXoring T
KeccakF-1600-opt32.o KeccakPermutationOnWordsAfterXoring1344bits T
KeccakF-1600-opt32.o fromInterleaving T
KeccakF-1600-opt32.o setInterleavedWordsInto8bytes T
KeccakSponge.o Absorb T
KeccakSponge.o AbsorbQueue T
KeccakSponge.o InitSponge T
KeccakSponge.o PadAndSwitchToSqueezingPhase T
KeccakSponge.o Squeeze T

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

Namespace violations

Implementation: opt32biT-s2lcu4
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt32.o KeccakAbsorb T
KeccakF-1600-opt32.o KeccakAbsorb1344bits T
KeccakF-1600-opt32.o KeccakExtract T
KeccakF-1600-opt32.o KeccakF1600RoundConstants_int2_0 R
KeccakF-1600-opt32.o KeccakF1600RoundConstants_int2_1 R
KeccakF-1600-opt32.o KeccakInitialize T
KeccakF-1600-opt32.o KeccakInitializeState T
KeccakF-1600-opt32.o KeccakPermutation T
KeccakF-1600-opt32.o KeccakPermutationOnWords T
KeccakF-1600-opt32.o KeccakPermutationOnWordsAfterXoring T
KeccakF-1600-opt32.o KeccakPermutationOnWordsAfterXoring1344bits T
KeccakF-1600-opt32.o buildInterleaveTables T
KeccakF-1600-opt32.o deinterleaveTable C
KeccakF-1600-opt32.o interleaveTable C
KeccakF-1600-opt32.o interleaveTablesBuilt B
KeccakF-1600-opt32.o setInterleavedWordsInto8bytes T
KeccakF-1600-opt32.o xor8bytesIntoInterleavedWords T
KeccakSponge.o Absorb T
KeccakSponge.o AbsorbQueue T
KeccakSponge.o InitSponge T
KeccakSponge.o PadAndSwitchToSqueezingPhase T
KeccakSponge.o Squeeze T

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

Namespace violations

Implementation: opt64lcu24
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt64.o KeccakAbsorb T
KeccakF-1600-opt64.o KeccakAbsorb1344bits T
KeccakF-1600-opt64.o KeccakExtract T
KeccakF-1600-opt64.o KeccakF1600RoundConstants R
KeccakF-1600-opt64.o KeccakInitialize T
KeccakF-1600-opt64.o KeccakInitializeState T
KeccakF-1600-opt64.o KeccakPermutation T
KeccakF-1600-opt64.o KeccakPermutationOnWords T
KeccakF-1600-opt64.o KeccakPermutationOnWordsAfterXoring T
KeccakF-1600-opt64.o KeccakPermutationOnWordsAfterXoring1344bits T
KeccakF-1600-opt64.o fromBytesToWord T
KeccakF-1600-opt64.o fromWordToBytes T
KeccakSponge.o Absorb T
KeccakSponge.o AbsorbQueue T
KeccakSponge.o InitSponge T
KeccakSponge.o PadAndSwitchToSqueezingPhase T
KeccakSponge.o Squeeze T

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

Namespace violations

Implementation: simple
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-simple.o KeccakF T
Keccak-simple.o KeccakF_RoundConstants R

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

Namespace violations

Implementation: simple32bi
Security model: unknown
Compiler: gcc -march=rv64gc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-simple32BI.o KeccakF T
Keccak-simple32BI.o extractFromState T

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