Implementation notes: armeabi, odroid, crypto_hash/keccakc448

Computer: odroid
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc448
TimeImplementationCompilerBenchmark dateSUPERCOP version
92900opt32bi-rvku2gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
96368opt32bi-rvku2gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
102160opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
104445opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
104998opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
106754opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
110015opt32bi-s2lcu4clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
113298opt32bi-rvku2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
113445opt32biT-s2lcu4clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
117409opt64lcu24gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
118040simpleclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
120308opt32bi-rvku2gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
125400opt64u6clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
127859opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
127940opt32bi-s2lcu4gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
128176opt64lcu6clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
129924opt32bi-rvku2gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
133197opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
135016opt32biT-s2lcu4gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
147344inplaceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
149584opt64lcu24clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
152332simplegcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
160323opt64u6gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
161024opt64lcu6gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
163873inplacegcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
189365simplegcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
191317simplegcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
193053inplacegcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
194979inplacegcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
205108opt64lcu24gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
205293opt64lcu24gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
207541opt64lcu6gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
215684opt64u6gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
216054opt64lcu6gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
221831opt64u6gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
227272inplacegcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
228465simplegcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
245089opt64lcu6gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
247273opt64u6gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
265640compactclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
279767opt64lcu24gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
294743compactgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
348832compactgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
362904compactgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
458107compactgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
514156compact8gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
565080compact8gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
591064compact8clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
736760compact8gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806

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