Implementation notes: riscv64, hifiveunleashedriscv, crypto_hash/keccakc768

Computer: hifiveunleashedriscv
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: keccakc768
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8496758456 0 064310 720 728opt64lcu24gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
8738258398 0 064526 736 728opt64lcu24gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
8934116880 0 022734 720 728opt64lcu6gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9099816896 0 023024 736 728opt64lcu6gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
940652394 0 08320 720 728simplegcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
948124076 0 010002 720 728inplacegcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9649718038 0 023884 720 728opt64u6gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
970014018 0 010218 736 728inplacegcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9733817960 0 024080 736 728opt64u6gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
997742406 0 08606 736 728simplegcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
11445372508 0 080124 736 728opt64lcu24gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
11474372270 0 078502 736 728opt64lcu24gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
11794520676 0 026908 736 728opt64lcu6gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
11856720690 0 028306 736 728opt64lcu6gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
13186122566 0 028790 736 728opt64u6gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
13282022536 0 030144 736 728opt64u6gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1357399900 0 017604 736 728inplacegcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1385265154 0 011458 736 728inplacegcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1452235658 0 013362 736 728simplegcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
1453972982 0 09286 736 728simplegcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
23109025808 0 031658 720 728opt32bi-s2lcu4gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2317815052 0 012728 736 728compactgcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
23491715230 0 021080 720 728opt32bi-rvku2gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2389925346 0 011280 720 728simple32bigcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
24225326672 0 032796 736 728opt32bi-s2lcu4gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
24453725476 0 431444 736 262872opt32biT-s2lcu4gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
25398115334 0 021458 736 728opt32bi-rvku2gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2569545464 0 011672 736 728simple32bigcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
25763226380 0 432622 752 262872opt32biT-s2lcu4gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2588239406 0 015344 720 728inplace32bigcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
2692099628 0 015840 736 728inplace32bigcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
34651437218 0 043446 736 728opt32bi-s2lcu4gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
34652837754 0 045374 736 728opt32bi-s2lcu4gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
36713038626 0 446372 752 262872opt32biT-s2lcu4gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
37187036974 0 443314 752 262872opt32biT-s2lcu4gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
37399613102 0 019418 736 728inplace32bigcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
37808213480 0 021200 736 728inplace32bigcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
4046747834 0 014146 736 728simple32bigcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
40558822626 0 030246 736 728opt32bi-rvku2gcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
41173315186 0 022902 736 728simple32bigcc_-march=rv64gc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
41205922460 0 028688 736 728opt32bi-rvku2gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
4773111740 0 08020 736 728compactgcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
5018881542 0 07444 720 728compactgcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
6248271642 0 07818 736 728compactgcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
8734791222 192 07126 912 728compact8gcc_-march=rv64gc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9126791382 192 07672 928 728compact8gcc_-march=rv64gc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9252371230 192 07408 928 728compact8gcc_-march=rv64gc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019123020191221
9672043670 192 011346 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 KeccakAbsorb832bits 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 KeccakPermutationOnWordsAfterXoring832bits 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 KeccakAbsorb832bits 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 KeccakPermutationOnWordsAfterXoring832bits 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 KeccakAbsorb832bits 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 KeccakPermutationOnWordsAfterXoring832bits 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 KeccakAbsorb832bits 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 KeccakPermutationOnWordsAfterXoring832bits 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