Implementation notes: armeabi, tinker, crypto_hash/keccakc448

Computer: tinker
Microarchitecture: armeabi; Cortex-A17 (410fc0d1)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: keccakc448
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6992810732 0 017337 376 744T:opt32bi-rvku2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7078812450 0 020209 384 744T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7324918788 0 025393 376 744T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
759693948 0 010549 376 744T:simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
765277080 0 013681 376 744T:inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7655117108 0 027550 412 752T:opt32bi-rvku2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
7670022486 0 030245 384 744T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
772034596 0 012301 384 744T:simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7732418584 0 26214825189 376 262888T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7855630776 0 041218 412 752T:opt32bi-s2lcu4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
7861731648 0 038249 376 744T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
786218292 0 015997 384 744T:inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7898422366 0 26214830125 384 262896T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7940137958 0 045713 384 744T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
7966331692 0 038297 376 744T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
8047838302 0 046057 384 744T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
8299030788 0 26214841226 412 262904T:opt32biT-s2lcu4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
8511714152 0 022061 384 752T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
8536725524 0 033429 384 752T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
8539316452 0 025097 384 752T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
856076484 0 017038 412 752T:simpleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
8565427852 0 036493 384 752T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
88298115014 0 0121617 376 744T:opt64lcu24gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
8902227120 0 26215235761 384 262904T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
902505160 0 013009 384 752T:simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
9092825408 0 26215233317 384 262904T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
9267354712 0 065154 412 752T:opt64u6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
9291811528 0 022090 412 752T:inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
931699524 0 017373 384 752T:inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
9343243288 0 051925 384 752T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
9349443212 0 051113 384 752T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
9413955724 0 066166 412 752T:opt64lcu6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
9437643564 0 052205 384 752T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
9448443492 0 051397 384 752T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
104966138610 0 0146365 384 744T:opt64lcu24gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
123612156744 0 0164649 384 752T:opt64lcu24gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
123628156816 0 0165457 384 752T:opt64lcu24gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
157166198572 0 0209014 412 752T:opt64lcu24clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
2319064184 0 014722 412 752T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
2880861528 0 08129 376 744T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
2901701916 0 09765 384 752T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
3015981948 0 09653 384 744T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
3656631554 192 09405 580 752T:compact8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
3684551498 192 09201 580 744T:compact8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107
3764385024 0 015530 412 752T:compact8clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012820240107
3910331166 192 07765 572 744T:compact8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012820240107

Test failure

Implementation: T:compact
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact T:compact8 T:inplace
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:inplace32bi-armv6m
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace32bi-armv7a
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace32bi-armv7a
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace32bi-armv7a
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:inplace32bi-armv7a
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:simple

Test failure

Implementation: T:inplace32bi-armv7a
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_hash does not handle m=h overlap

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:inplace32bi-armv7a

Compiler output

Implementation: T:inplace32bi
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Keccak-inplace32BI.c: Keccak-inplace32BI.c:73:6: 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: ^
Keccak-inplace32BI.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:inplace32bi

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: 73 | #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:inplace32bi-armv6m
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccak.S: keccak.S:19:2: warning: new target does not support arm mode, switching to thumb mode
keccak.S: .cpu cortex-m1
keccak.S: ^
try.c: /usr/bin/arm-linux-gnueabihf-ld: warning: keccak.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:inplace32bi-armv6m

Compiler output

Implementation: T:inplace32bi-armv6m
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: error: libcrypto_hash_keccakc448.a(keccak.o): conflicting architecture profiles M/A
try.c: /usr/bin/ld: failed to merge target specific data of file libcrypto_hash_keccakc448.a(keccak.o)
try.c: /usr/bin/ld: warning: keccak.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:inplace32bi-armv7a
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/arm-linux-gnueabihf-ld: warning: keccak.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:inplace32bi-armv7a

Compiler output

Implementation: T:inplace32bi-armv7a
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: warning: keccak.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

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

Compiler output

Implementation: T:simple32bi
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Keccak-simple32BI.c: Keccak-simple32BI.c:73:6: 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: ^
Keccak-simple32BI.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:simple32bi

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: 73 | #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