Implementation notes: armeabi, odroid, crypto_hash/blake512

Computer: odroid
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: blake512
TimeImplementationCompilerBenchmark dateSUPERCOP version
37696vect128-neongcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082320160806
37727vect128-neongcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082320160806
37728vect128-neonclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082320160806
37728vect128-neongcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082320160806
37739vect128-neongcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082320160806
73162regsclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082320160806
75412bswapclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082320160806
101588sphlib-smallclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082320160806
101984sphlibclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082320160806
108591refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082320160806
113615bswapgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082320160806
113722bswapgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082320160806
118165regsgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082320160806
118176regsgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082320160806
128672refgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082320160806
130759bswapgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082320160806
133152regsgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082320160806
136912sphlib-smallgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082320160806
137933sphlibgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082320160806
150054sphlibgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082320160806
150568sphlib-smallgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082320160806
152460sphlibgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082320160806
152832sphlib-smallgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082320160806
160480refgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082320160806
163599refgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082320160806
182322bswapgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082320160806
185147regsgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082320160806
242704sphlib-smallgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082320160806
242778sphlibgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082320160806
254841refgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082320160806

Test failure

Implementation: crypto_hash/blake512/vect128
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111

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

Compiler output

Implementation: crypto_hash/blake512/vect128-inplace
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
vector.c: vector.c:753:3: warning: implicit declaration of function 'v64_interleavel' is invalid in C99 [-Wimplicit-function-declaration]
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: PERM(i); \
vector.c: ^
vector.c: ./perm512.h:1:17: note: expanded from macro 'PERM'
vector.c: #define PERM(i) XCAT(PERM_512_,i)
vector.c: ^
vector.c: ./vector.h:6:19: note: expanded from macro 'XCAT'
vector.c: #define XCAT(x,y) CAT(x,y)
vector.c: ^
vector.c: ./vector.h:5:19: note: expanded from macro 'CAT'
vector.c: #define CAT(x, y) x##y
vector.c: ^
vector.c: gt;:43:1: note: expanded from here
vector.c: PERM_512_0
vector.c: ^
vector.c: ./perm512.h:6:10: note: expanded from macro 'PERM_512_0'
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: vector.c:753:3: error: assigning to 'v64' (aka 'int64x2_t') from incompatible type 'int'
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^~~~~~~~~
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: ...

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

Compiler output

Implementation: crypto_hash/blake512/vect128
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
vector.c: /tmp/ccqBxeVV.s: Assembler messages:
vector.c: /tmp/ccqBxeVV.s:218: Error: invalid instruction shape -- `vmov d26,s24'
vector.c: /tmp/ccqBxeVV.s:260: Error: invalid instruction shape -- `vmov d17,s26'
vector.c: /tmp/ccqBxeVV.s:361: Error: invalid instruction shape -- `vmov d0,s8'
vector.c: /tmp/ccqBxeVV.s:362: Error: invalid instruction shape -- `vmov d1,s10'
vector.c: /tmp/ccqBxeVV.s:370: Error: invalid instruction shape -- `vmov d4,s10'
vector.c: /tmp/ccqBxeVV.s:371: Error: invalid instruction shape -- `vmov d5,s8'
vector.c: /tmp/ccqBxeVV.s:432: Error: invalid instruction shape -- `vmov d28,s6'
vector.c: /tmp/ccqBxeVV.s:433: Error: invalid instruction shape -- `vmov d29,s4'
vector.c: /tmp/ccqBxeVV.s:517: Error: invalid instruction shape -- `vmov d1,s2'
vector.c: /tmp/ccqBxeVV.s:534: Error: invalid instruction shape -- `vmov d8,s18'
vector.c: /tmp/ccqBxeVV.s:535: Error: invalid instruction shape -- `vmov d9,s16'
vector.c: /tmp/ccqBxeVV.s:582: Error: invalid instruction shape -- `vmov d12,s10'
vector.c: /tmp/ccqBxeVV.s:583: Error: invalid instruction shape -- `vmov d13,s26'
vector.c: /tmp/ccqBxeVV.s:591: Error: invalid instruction shape -- `vmov d4,s14'
vector.c: /tmp/ccqBxeVV.s:659: Error: invalid instruction shape -- `vmov d13,s10'
vector.c: /tmp/ccqBxeVV.s:669: Error: invalid instruction shape -- `vmov d4,s30'
vector.c: /tmp/ccqBxeVV.s:904: Error: invalid instruction shape -- `vmov d18,s22'
vector.c: /tmp/ccqBxeVV.s:905: Error: invalid instruction shape -- `vmov d19,s20'
vector.c: /tmp/ccqBxeVV.s:957: Error: invalid instruction shape -- `vmov d29,s14'
vector.c: /tmp/ccqBxeVV.s:1009: Error: invalid instruction shape -- `vmov d17,s22'
vector.c: /tmp/ccqBxeVV.s:1024: Error: invalid instruction shape -- `vmov d16,s20'
vector.c: /tmp/ccqBxeVV.s:1042: Error: invalid instruction shape -- `vmov d17,s30'
vector.c: /tmp/ccqBxeVV.s:1072: Error: invalid instruction shape -- `vmov d16,s24'
vector.c: /tmp/ccqBxeVV.s:1154: Error: invalid instruction shape -- `vmov d31,s26'
vector.c: ...

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

Compiler output

Implementation: crypto_hash/blake512/vect128-inplace
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
vector.c: In file included from vector.c:588:0:
vector.c: vector.c: In function 'round512':
vector.c: perm512.h:6:10: warning: implicit declaration of function 'v64_interleavel' [-Wimplicit-function-declaration]
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: vector.h:5:19: note: in expansion of macro 'PERM_512_0'
vector.c: #define CAT(x, y) x##y
vector.c: ^
vector.c: vector.h:6:19: note: in expansion of macro 'CAT'
vector.c: #define XCAT(x,y) CAT(x,y)
vector.c: ^~~
vector.c: perm512.h:1:17: note: in expansion of macro 'XCAT'
vector.c: #define PERM(i) XCAT(PERM_512_,i)
vector.c: ^~~~
vector.c: vector.c:670:5: note: in expansion of macro 'PERM'
vector.c: PERM(i); \
vector.c: ^~~~
vector.c: vector.c:753:3: note: in expansion of macro 'ROUND'
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^~~~~
vector.c: perm512.h:6:8: error: incompatible types when assigning to type 'v64' from type 'int'
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: vector.h:5:19: note: in expansion of macro 'PERM_512_0'
vector.c: #define CAT(x, y) x##y
vector.c: ...

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

Compiler output

Implementation: crypto_hash/blake512/vect128
Compiler: gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv
vector.c: /tmp/ccMK2QqC.s: Assembler messages:
vector.c: /tmp/ccMK2QqC.s:300: Error: invalid instruction shape -- `vmov d24,s20'
vector.c: /tmp/ccMK2QqC.s:301: Error: invalid instruction shape -- `vmov d25,s22'
vector.c: /tmp/ccMK2QqC.s:344: Error: invalid instruction shape -- `vmov d31,s16'
vector.c: /tmp/ccMK2QqC.s:432: Error: invalid instruction shape -- `vmov d0,s2'
vector.c: /tmp/ccMK2QqC.s:445: Error: invalid instruction shape -- `vmov d8,s18'
vector.c: /tmp/ccMK2QqC.s:493: Error: invalid instruction shape -- `vmov d4,s8'
vector.c: /tmp/ccMK2QqC.s:494: Error: invalid instruction shape -- `vmov d5,s6'
vector.c: /tmp/ccMK2QqC.s:616: Error: invalid instruction shape -- `vmov d31,s28'
vector.c: /tmp/ccMK2QqC.s:627: Error: invalid instruction shape -- `vmov d28,s30'
vector.c: /tmp/ccMK2QqC.s:628: Error: invalid instruction shape -- `vmov d29,s28'
vector.c: /tmp/ccMK2QqC.s:680: Error: invalid instruction shape -- `vmov d27,s12'
vector.c: /tmp/ccMK2QqC.s:702: Error: invalid instruction shape -- `vmov d25,s14'
vector.c: /tmp/ccMK2QqC.s:758: Error: invalid instruction shape -- `vmov d27,s10'
vector.c: /tmp/ccMK2QqC.s:769: Error: invalid instruction shape -- `vmov d25,s10'
vector.c: /tmp/ccMK2QqC.s:855: Error: invalid instruction shape -- `vmov d30,s18'
vector.c: /tmp/ccMK2QqC.s:856: Error: invalid instruction shape -- `vmov d31,s2'
vector.c: /tmp/ccMK2QqC.s:882: Error: invalid instruction shape -- `vmov d28,s18'
vector.c: /tmp/ccMK2QqC.s:883: Error: invalid instruction shape -- `vmov d29,s20'
vector.c: /tmp/ccMK2QqC.s:926: Error: invalid instruction shape -- `vmov d29,s2'
vector.c: /tmp/ccMK2QqC.s:976: Error: invalid instruction shape -- `vmov d19,s22'
vector.c: /tmp/ccMK2QqC.s:1104: Error: invalid instruction shape -- `vmov d18,s22'
vector.c: /tmp/ccMK2QqC.s:1122: Error: invalid instruction shape -- `vmov d18,s22'
vector.c: /tmp/ccMK2QqC.s:1151: Error: invalid instruction shape -- `vmov d18,s20'
vector.c: /tmp/ccMK2QqC.s:1174: Error: invalid instruction shape -- `vmov d23,s22'
vector.c: ...

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

Compiler output

Implementation: crypto_hash/blake512/vect128
Compiler: gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv
vector.c: /tmp/ccUgjK29.s: Assembler messages:
vector.c: /tmp/ccUgjK29.s:255: Error: invalid instruction shape -- `vmov d26,s6'
vector.c: /tmp/ccUgjK29.s:256: Error: invalid instruction shape -- `vmov d27,s4'
vector.c: /tmp/ccUgjK29.s:268: Error: invalid instruction shape -- `vmov d24,s2'
vector.c: /tmp/ccUgjK29.s:269: Error: invalid instruction shape -- `vmov d25,s0'
vector.c: /tmp/ccUgjK29.s:281: Error: invalid instruction shape -- `vmov d22,s20'
vector.c: /tmp/ccUgjK29.s:282: Error: invalid instruction shape -- `vmov d23,s22'
vector.c: /tmp/ccUgjK29.s:294: Error: invalid instruction shape -- `vmov d8,s24'
vector.c: /tmp/ccUgjK29.s:295: Error: invalid instruction shape -- `vmov d9,s26'
vector.c: /tmp/ccUgjK29.s:307: Error: invalid instruction shape -- `vmov d2,s28'
vector.c: /tmp/ccUgjK29.s:308: Error: invalid instruction shape -- `vmov d3,s6'
vector.c: /tmp/ccUgjK29.s:549: Error: invalid instruction shape -- `vmov d4,s12'
vector.c: /tmp/ccUgjK29.s:550: Error: invalid instruction shape -- `vmov d5,s14'
vector.c: /tmp/ccUgjK29.s:568: Error: invalid instruction shape -- `vmov d29,s16'
vector.c: /tmp/ccUgjK29.s:576: Error: invalid instruction shape -- `vmov d26,s30'
vector.c: /tmp/ccUgjK29.s:577: Error: invalid instruction shape -- `vmov d27,s16'
vector.c: /tmp/ccUgjK29.s:586: Error: invalid instruction shape -- `vmov d25,s18'
vector.c: /tmp/ccUgjK29.s:606: Error: invalid instruction shape -- `vmov d9,s18'
vector.c: /tmp/ccUgjK29.s:614: Error: invalid instruction shape -- `vmov d14,s30'
vector.c: /tmp/ccUgjK29.s:844: Error: invalid instruction shape -- `vmov d4,s22'
vector.c: /tmp/ccUgjK29.s:864: Error: invalid instruction shape -- `vmov d28,s30'
vector.c: /tmp/ccUgjK29.s:882: Error: invalid instruction shape -- `vmov d24,s14'
vector.c: /tmp/ccUgjK29.s:891: Error: invalid instruction shape -- `vmov d22,s14'
vector.c: /tmp/ccUgjK29.s:892: Error: invalid instruction shape -- `vmov d23,s16'
vector.c: /tmp/ccUgjK29.s:900: Error: invalid instruction shape -- `vmov d10,s22'
vector.c: ...

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

Compiler output

Implementation: crypto_hash/blake512/vect128
Compiler: gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv
vector.c: /tmp/ccoCEJhQ.s: Assembler messages:
vector.c: /tmp/ccoCEJhQ.s:568: Error: invalid instruction shape -- `vmov d0,s6'
vector.c: /tmp/ccoCEJhQ.s:569: Error: invalid instruction shape -- `vmov d1,s4'
vector.c: /tmp/ccoCEJhQ.s:634: Error: invalid instruction shape -- `vmov d2,s6'
vector.c: /tmp/ccoCEJhQ.s:635: Error: invalid instruction shape -- `vmov d3,s4'
vector.c: /tmp/ccoCEJhQ.s:2979: Error: invalid instruction shape -- `vmov d14,s28'
vector.c: /tmp/ccoCEJhQ.s:2980: Error: invalid instruction shape -- `vmov d15,s30'

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