Implementation notes: armeabi, pi2, crypto_hash/keccakc448

Computer: pi2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_hash
Primitive: keccakc448
TimeImplementationCompilerBenchmark dateSUPERCOP version
135626opt32bi-rvku2gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
154538opt32bi-rvku2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
154675opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
163641opt32bi-s2lcu4clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
169124opt32bi-rvku2gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
169626opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
170316opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
175951simpleclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
179331opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
181098opt32biT-s2lcu4clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
189369inplaceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
192589inplacegcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
197994opt32bi-rvku2gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
198604opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
199626opt64u6clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
204294opt64lcu6clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
207511opt64lcu6gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
207931opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
210330opt64u6gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
212284opt64u6gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
214152opt64lcu6gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
218546opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
222580simplegcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
225673opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
232144simplegcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
236676inplacegcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
239533opt32bi-rvku2gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
266372compactgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
290279simplegcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
300716inplacegcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
301440compactclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
307610inplacegcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
317298opt64lcu6gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
319303opt64lcu6gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
327940opt64lcu24gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
329048simplegcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
337782opt64u6gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
341186opt64lcu24gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
376750compactgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
393948opt64u6gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
431256compactgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
449927opt64lcu24clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
550402compactgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
627301compact8gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
699636compact8gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
715054opt64lcu24gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
723164compact8gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
765911compact8clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
820772opt64lcu24gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731

Test failure

Implementation: crypto_hash/keccakc448/inplace32bi-armv7a
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111
crypto_hash does not handle m=h overlap

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments inplace32bi-armv7a
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv inplace32bi-armv7a
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv inplace32bi-armv7a
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv inplace32bi-armv7a
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv inplace32bi-armv7a

Test failure

Implementation: crypto_hash/keccakc448/compact8
Compiler: gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv compact8

Compiler output

Implementation: crypto_hash/keccakc448/inplace32bi-armv6m
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
Keccak-inplace32BI-armgcc-ARMv6M.s: Keccak-inplace32BI-armgcc-ARMv6M.s:618:3: error: instruction requires: arm-mode
Keccak-inplace32BI-armgcc-ARMv6M.s: adds r2, r1
Keccak-inplace32BI-armgcc-ARMv6M.s: ^

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

Compiler output

Implementation: crypto_hash/keccakc448/inplace32bi
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
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 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments inplace32bi

Compiler output

Implementation: crypto_hash/keccakc448/simple32bi
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
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 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments simple32bi

Compiler output

Implementation: crypto_hash/keccakc448/inplace32bi
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
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 -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv inplace32bi
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv inplace32bi
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv inplace32bi
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv inplace32bi

Compiler output

Implementation: crypto_hash/keccakc448/simple32bi
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
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 -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv simple32bi
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv simple32bi
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv simple32bi
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv simple32bi

Compiler output

Implementation: crypto_hash/keccakc448/inplace32bi-armv6m
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
try.c: /usr/bin/ld: error: crypto_hash_keccakc448.a(Keccak-inplace32BI-armgcc-ARMv6M.o): Conflicting architecture profiles M/A
try.c: /usr/bin/ld: failed to merge target specific data of file crypto_hash_keccakc448.a(Keccak-inplace32BI-armgcc-ARMv6M.o)
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv inplace32bi-armv6m
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv inplace32bi-armv6m
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv inplace32bi-armv6m
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv inplace32bi-armv6m