Implementation notes: aarch64, hikey970, crypto_hash/keccakc448

Computer: hikey970
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: keccakc448
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
153683128 0 013354 920 744inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
153686052 0 017890 920 776inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
153682924 0 012486 904 744inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1536842128 0 052362 920 744opt64lcu24gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1536843236 0 052806 904 744opt64lcu24gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1536813140 0 024978 920 776opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1536813400 0 023666 920 744opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
153683904 0 015738 920 776simplegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1728913728 0 023962 920 744opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1728913688 0 025538 920 776opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1728913360 0 022934 904 744opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1728913108 0 023338 920 744opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
172892044 0 012306 920 744simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
2113142520 0 054370 920 776opt64lcu24gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
2113112984 0 022550 904 744opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
230521928 0 012154 920 744simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
230521816 0 011382 904 744simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
2497343456 0 053730 920 744opt64lcu24gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
2689413656 0 023930 920 744opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
288153124 0 013386 920 744inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
461046308 192 018146 1120 776compact8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
4610422936 0 032510 904 744opt32bi-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
5378827416 0 037650 920 744opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
5378829936 0 041786 920 776opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
5378827420 0 437784 936 262888opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
5763017856 0 029706 920 776opt32bi-rvku2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
5955128056 0 440032 936 262920opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
7107712696 0 022270 904 744opt32bi-rvku2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
8260315256 0 025490 920 744opt32bi-rvku2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
883664380 0 016218 920 776compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
8836622916 0 432612 920 262888opt32biT-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
9605013088 0 023362 920 744opt32bi-rvku2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
979711892 0 012122 920 744compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
1056551664 0 011230 904 744compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
10565523292 0 033562 920 744opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
11333923292 0 433688 936 262888opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
2170731430 192 011625 1104 744compact8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
2958341920 0 012186 920 744compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
3534641546 192 011705 1104 744compact8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
4072521300 192 010870 1096 744compact8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017

Compiler output

Implementation: inplace32bi
Security model: unknown
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':
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 inplace32bi
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE inplace32bi
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE inplace32bi
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE inplace32bi

Compiler output

Implementation: simple32bi
Security model: unknown
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':
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 simple32bi
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE simple32bi
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE simple32bi
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE simple32bi

Namespace violations

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

Namespace violations

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

Namespace violations

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

Namespace violations

Implementation: opt32bi-rvku2
Security model: unknown
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 opt32bi-rvku2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32bi-rvku2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32bi-rvku2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32bi-rvku2

Namespace violations

Implementation: opt32bi-s2lcu4
Security model: unknown
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 opt32bi-s2lcu4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32bi-s2lcu4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32bi-s2lcu4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32bi-s2lcu4

Namespace violations

Implementation: opt32biT-s2lcu4
Security model: unknown
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 opt32biT-s2lcu4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32biT-s2lcu4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32biT-s2lcu4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt32biT-s2lcu4

Namespace violations

Implementation: opt64lcu24
Security model: unknown
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 opt64lcu24
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64lcu24
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64lcu24
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64lcu24
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64lcu6
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64lcu6
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64lcu6
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64lcu6
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64u6
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64u6
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64u6
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt64u6

Namespace violations

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