Implementation notes: mipso32, gcc23, crypto_hash/keccakc448

Computer: gcc23
Microarchitecture: mipso32; Octeon II (cnmips64v2)
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20230530
Operation: crypto_hash
Primitive: keccakc448
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
15627226032 0 043466 396 760T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
15734216448 0 033771 388 760T:opt32bi-rvku2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
16433245152 0 062620 392 760T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
17420447968 0 065418 392 760T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
17421210624 0 025666 328 760T:inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
1772406080 0 021118 328 760T:simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
18896825680 0 1643278 428 262920T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
23950437376 0 057257 392 760T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
23988036752 0 054626 400 760T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
26092245264 0 063720 392 760T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
26953248096 0 066534 392 760T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
27086026576 0 045190 404 760T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
27158216704 0 035207 396 760T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
27344410736 0 026958 336 760T:inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
2749246256 0 022474 336 760T:simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
27519237184 0 1657172 420 262920T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
28331636448 0 1654494 432 262920T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
31102426224 0 1645002 436 262920T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
32794024864 0 044634 384 760T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
32819224240 0 042003 392 760T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
34764872720 0 092534 392 760T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
34765072512 0 090280 396 760T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
38787280672 0 098422 396 760T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
38789680880 0 0100676 392 760T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
42630236448 0 054032 332 760T:inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
42633418544 0 034078 336 760T:inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
448330156672 0 0174093 396 760T:opt64lcu24gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
4564005664 0 023365 344 760T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
45875210400 0 025930 336 760T:simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
45875220160 0 037740 332 760T:simplegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
494796156704 0 0175113 396 760T:opt64lcu24gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
7247602736 0 018387 348 760T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
819342265392 0 0285159 400 760T:opt64lcu24gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
819692265168 0 0282889 404 760T:opt64lcu24gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
9242122384 192 017928 532 760T:compact8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
9617204752 192 022348 528 760T:compact8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
12517843008 0 019347 348 760T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
13737022320 192 018641 544 760T:compact8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
15277262272 192 017605 544 760T:compact8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506
16781742656 0 018007 348 760T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022053120220506

Compiler output

Implementation: T:inplace32bi
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-inplace32BI.c: Keccak-inplace32BI.c: In function 'crypto_hash_keccakc448_inplace32bi_timingleaks':
Keccak-inplace32BI.c: Keccak-inplace32BI.c:73:6: error: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-inplace32BI.c: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-inplace32BI.c: ^

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

Compiler output

Implementation: T:simple32bi
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keccak-simple32BI.c: Keccak-simple32BI.c: In function 'crypto_hash_keccakc448_simple32bi_timingleaks':
Keccak-simple32BI.c: Keccak-simple32BI.c:73:6: error: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-simple32BI.c: #error "The output size must be a multiple of the lane size in this simple implementation."
Keccak-simple32BI.c: ^

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

Namespace violations

Implementation: T:compact
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact

Namespace violations

Implementation: T:compact8
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact8
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact8
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact8
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact8

Namespace violations

Implementation: T:inplace
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace

Namespace violations

Implementation: T:opt32bi-rvku2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt32.o KeccakAbsorb T
KeccakF-1600-opt32.o KeccakAbsorb1152bits 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 KeccakPermutationOnWordsAfterXoring1152bits 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-rvku2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-rvku2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-rvku2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-rvku2

Namespace violations

Implementation: T:opt32bi-s2lcu4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt32.o KeccakAbsorb T
KeccakF-1600-opt32.o KeccakAbsorb1152bits 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 KeccakPermutationOnWordsAfterXoring1152bits 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-s2lcu4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-s2lcu4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-s2lcu4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32bi-s2lcu4

Namespace violations

Implementation: T:opt32biT-s2lcu4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt32.o KeccakAbsorb T
KeccakF-1600-opt32.o KeccakAbsorb1152bits 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 KeccakPermutationOnWordsAfterXoring1152bits 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32biT-s2lcu4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32biT-s2lcu4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32biT-s2lcu4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt32biT-s2lcu4

Namespace violations

Implementation: T:opt64lcu24
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt64.o KeccakAbsorb T
KeccakF-1600-opt64.o KeccakAbsorb1152bits 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 KeccakPermutationOnWordsAfterXoring1152bits 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu24
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu24
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu24
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu24
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu6
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu6
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu6
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcu6
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64u6
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64u6
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64u6
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64u6

Namespace violations

Implementation: T:simple
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:simple
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:simple
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:simple
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:simple