Implementation notes: armeabi, cubox, crypto_aead/lunarkeyakv2

Computer: cubox
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: lunarkeyakv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
570184generic32gcc -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
570407generic32lcgcc -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
594498generic32gcc -mcpu=marvell-pj4 -Os2016121520161026
594660generic32lcgcc -mcpu=marvell-pj4 -Os2016121520161026
663917generic64gcc -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
670323generic64lcgcc -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
707614generic64gcc -mcpu=marvell-pj4 -Os2016121520161026
711868generic64lcgcc -mcpu=marvell-pj4 -Os2016121520161026
815378generic32lcgcc -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
816109generic32gcc -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
819123generic32gcc -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
819263generic32lcgcc -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
844922generic32lcgcc -mcpu=marvell-pj4 -O22016121520161026
845918generic32gcc -mcpu=marvell-pj4 -O22016121520161026
854054generic32lcgcc -mcpu=marvell-pj4 -O32016121520161026
854918generic32gcc -mcpu=marvell-pj4 -O32016121520161026
979798referencegcc -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
1039447referencegcc -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
1050019referencegcc -mcpu=marvell-pj4 -O32016121520161026
1153058compactgcc -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
1223738compactgcc -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
1242176generic64gcc -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
1244068generic64gcc -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
1250340compactgcc -mcpu=marvell-pj4 -O32016121520161026
1278520generic64lcgcc -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
1291976generic64lcgcc -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
1366130generic64gcc -mcpu=marvell-pj4 -O32016121520161026
1368906generic64gcc -mcpu=marvell-pj4 -O22016121520161026
1405996generic64lcgcc -mcpu=marvell-pj4 -O32016121520161026
1426422generic64lcgcc -mcpu=marvell-pj4 -O22016121520161026
2035750compactgcc -mcpu=marvell-pj4 -O22016121520161026
2581887compactgcc -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
2948176compactgcc -mcpu=marvell-pj4 -Os2016121520161026
3254624referencegcc -mcpu=marvell-pj4 -O22016121520161026
6174187reference32bitsgcc -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
6824460referencegcc -mcpu=marvell-pj4 -Os2016121520161026
6852383referencegcc -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
7668985reference32bitsgcc -mcpu=marvell-pj4 -O32016121520161026
10678043reference32bitsgcc -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
12550972refnewg++ -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
12618272refg++ -mcpu=marvell-pj4 -O32016121520161026
12647464refg++ -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
12682524refnewg++ -mcpu=marvell-pj4 -O32016121520161026
12727949refg++ -funroll-loops -mcpu=marvell-pj4 -O32016121520161026
12783575refnewg++ -funroll-loops -mcpu=marvell-pj4 -O22016121520161026
13085989reference32bitsgcc -mcpu=marvell-pj4 -O22016121520161026
14069940refg++ -mcpu=marvell-pj4 -O22016121520161026
14241490refnewg++ -mcpu=marvell-pj4 -O22016121520161026
16367029reference32bitsgcc -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
16428133reference32bitsgcc -mcpu=marvell-pj4 -Os2016121520161026
50246169refnewg++ -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
50280274refnewg++ -mcpu=marvell-pj4 -Os2016121520161026
50552847refg++ -funroll-loops -mcpu=marvell-pj4 -Os2016121520161026
50927338refg++ -mcpu=marvell-pj4 -Os2016121520161026

Test failure

Implementation: crypto_aead/lunarkeyakv2/ARMv6M
Compiler: gcc -funroll-loops -mcpu=marvell-pj4 -O2
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=marvell-pj4 -O2 ARMv6M
gcc -funroll-loops -mcpu=marvell-pj4 -O3 ARMv6M
gcc -funroll-loops -mcpu=marvell-pj4 -Os ARMv6M
gcc -mcpu=marvell-pj4 -O2 ARMv6M
gcc -mcpu=marvell-pj4 -O3 ARMv6M
gcc -mcpu=marvell-pj4 -Os ARMv6M

Compiler output

Implementation: crypto_aead/lunarkeyakv2/ref
Compiler: g++ -funroll-loops -mcpu=marvell-pj4 -O2
Keyakv2.cpp: In file included from Keyakv2.h:21:0,
Keyakv2.cpp: from Keyakv2.cpp:16:
Keyakv2.cpp: Motorist.h:31:5: warning: 'templategt; class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
Keyakv2.cpp: auto_ptrgt; state;
Keyakv2.cpp: ^~~~~~~~
Keyakv2.cpp: In file included from /usr/include/c++/6.2.1/memory:81:0,
Keyakv2.cpp: from Motorist.h:20,
Keyakv2.cpp: from Keyakv2.h:21,
Keyakv2.cpp: from Keyakv2.cpp:16:
Keyakv2.cpp: /usr/include/c++/6.2.1/bits/unique_ptr.h:49:28: note: declared here
Keyakv2.cpp: templategt; class auto_ptr;
Keyakv2.cpp: ^~~~~~~~
Motorist.cpp: In file included from Motorist.cpp:17:0:
Motorist.cpp: Motorist.h:31:5: warning: 'templategt; class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
Motorist.cpp: auto_ptrgt; state;
Motorist.cpp: ^~~~~~~~
Motorist.cpp: In file included from /usr/include/c++/6.2.1/memory:81:0,
Motorist.cpp: from Motorist.h:20,
Motorist.cpp: from Motorist.cpp:17:
Motorist.cpp: /usr/include/c++/6.2.1/bits/unique_ptr.h:49:28: note: declared here
Motorist.cpp: templategt; class auto_ptr;
Motorist.cpp: ^~~~~~~~
encrypt.cpp: In file included from Keyakv2.h:21:0,
encrypt.cpp: from encrypt.cpp:22:
encrypt.cpp: Motorist.h:31:5: warning: 'templategt; class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
encrypt.cpp: auto_ptrgt; state;
encrypt.cpp: ^~~~~~~~
encrypt.cpp: In file included from /usr/include/c++/6.2.1/memory:81:0,
encrypt.cpp: from Motorist.h:20,
encrypt.cpp: from Keyakv2.h:21,
encrypt.cpp: from encrypt.cpp:22:
encrypt.cpp: /usr/include/c++/6.2.1/bits/unique_ptr.h:49:28: note: declared here
encrypt.cpp: templategt; class auto_ptr;
encrypt.cpp: ^~~~~~~~

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
g++ -funroll-loops -mcpu=marvell-pj4 -O2 ref refnew
g++ -funroll-loops -mcpu=marvell-pj4 -O3 ref refnew
g++ -funroll-loops -mcpu=marvell-pj4 -Os ref refnew
g++ -mcpu=marvell-pj4 -O2 ref refnew
g++ -mcpu=marvell-pj4 -O3 ref refnew
g++ -mcpu=marvell-pj4 -Os ref refnew

Compiler output

Implementation: crypto_aead/lunarkeyakv2/ARMv7A
Compiler: gcc -funroll-loops -mcpu=marvell-pj4 -O2
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s: Assembler messages:
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:286: Error: selected FPU does not support instruction -- `vmov.i64 q0,#0'
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:287: Error: selected FPU does not support instruction -- `vmov.i64 q1,#0'
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:288: Error: selected FPU does not support instruction -- `vmov.i64 q2,#0'
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:289: Error: selected FPU does not support instruction -- `vmov.i64 q3,#0'
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:384: Error: selected FPU does not support instruction -- `vmov.i64 d0,#0'
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:525: Error: selected processor does not support `veor.64 d0,d0,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:527: Error: selected processor does not support `veor.64 d2,d2,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:529: Error: selected processor does not support `veor.64 d4,d4,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:531: Error: selected processor does not support `veor.64 d6,d6,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: ...
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:766: Error: selected processor does not support `veor.64 d9,d9,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:768: Error: selected processor does not support `veor.64 d7,d7,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:770: Error: selected processor does not support `veor.64 d5,d5,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:772: Error: selected processor does not support `veor.64 d3,d3,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:774: Error: selected processor does not support `veor.64 d1,d1,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:777: Error: selected processor does not support `veor.64 d8,d8,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:779: Error: selected processor does not support `veor.64 d6,d6,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:781: Error: selected processor does not support `veor.64 d4,d4,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:783: Error: selected processor does not support `veor.64 d2,d2,d30' in ARM mode
KeccakP-1600-armv7a-le-neon-gcc.s: KeccakP-1600-armv7a-le-neon-gcc.s:785: Error: selected processor does not support `veor.64 d0,d0,d30' in ARM mode

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=marvell-pj4 -O2 ARMv7A
gcc -funroll-loops -mcpu=marvell-pj4 -O3 ARMv7A
gcc -funroll-loops -mcpu=marvell-pj4 -Os ARMv7A
gcc -mcpu=marvell-pj4 -O2 ARMv7A
gcc -mcpu=marvell-pj4 -O3 ARMv7A
gcc -mcpu=marvell-pj4 -Os ARMv7A

Compiler output

Implementation: crypto_aead/lunarkeyakv2/ARMv8A
Compiler: gcc -funroll-loops -mcpu=marvell-pj4 -O2
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s: Assembler messages:
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:257: Error: bad instruction `movi v0.2d,#0'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:258: Error: bad instruction `movi v1.2d,#0'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:259: Error: bad instruction `movi v2.2d,#0'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:260: Error: bad instruction `movi v3.2d,#0'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:261: Error: bad instruction `st4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0],#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:262: Error: bad instruction `st4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0],#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:263: Error: bad instruction `st4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0],#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:264: Error: bad instruction `st1 { v0.d }[0],[x0],#8'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:265: Error: bad instruction `ret'
KeccakP-1600-armv8a-neon.s: ...
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511: Error: ARM register expected -- `eor v25.16b,v25.16b,v7.16b'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511: Error: ARM register expected -- `eor v26.16b,v26.16b,v4.16b'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511: Error: bad instruction `ld1 { v16.d }[0],[x1],#8'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511: Error: ARM register expected -- `eor v19.16b,v19.16b,v16.16b'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:512: Error: ARM register expected -- `subs w2,w2,#1'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:515: Error: bad instruction `st4 { v19.2d,v20.2d,v21.2d,v22.2d },[x0],#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:515: Error: bad instruction `st4 { v23.2d,v24.2d,v25.2d,v26.2d },[x0],#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:515: Error: bad instruction `st4 { v27.2d,v28.2d,v29.2d,v30.2d },[x0],#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:515: Error: bad instruction `st1 { v31.d }[0],[x0],#8'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:516: Error: bad instruction `ret'

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=marvell-pj4 -O2 ARMv8A
gcc -funroll-loops -mcpu=marvell-pj4 -O3 ARMv8A
gcc -funroll-loops -mcpu=marvell-pj4 -Os ARMv8A
gcc -mcpu=marvell-pj4 -O2 ARMv8A
gcc -mcpu=marvell-pj4 -O3 ARMv8A
gcc -mcpu=marvell-pj4 -Os ARMv8A

Compiler output

Implementation: crypto_aead/lunarkeyakv2/AVR8
Compiler: gcc -funroll-loops -mcpu=marvell-pj4 -O2
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s: Assembler messages:
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:2: Error: bad instruction `implementation by the Keccak,Keyak and Ketje Teams,namely,Guido Bertoni,'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:3: Error: bad instruction `joan Daemen,Michaƫl Peeters,Gilles Van Assche and Ronny Van Keer,hereby'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:4: Error: bad instruction `denoted as "the implementer".'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:6: Error: bad instruction `for more information,feedback or questions,please refer to our websites:'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:11: Error: bad instruction `to the extent possible under law,the implementer has waived all copyright'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:12: Error: ARM register expected -- `and related or neighboring rights to the source code in this file.'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:16: Error: bad instruction `tested on ATmega1280 simulator'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:18: Error: bad instruction `registers used in all routines'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:26: Error: junk at end of line, first unrecognized character is `-'
KeccakP-1600-avr8-fast.s: ...
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1069: Error: bad instruction `rjmp KeccakRhoPi_PiStore'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1072: Error: bad instruction `ld rTempBis+7,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1073: Error: bad instruction `ld rTempBis+0,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1074: Error: bad instruction `ld rTempBis+1,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1075: Error: bad instruction `ld rTempBis+2,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1076: Error: bad instruction `ld rTempBis+3,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1077: Error: bad instruction `ld rTempBis+4,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1078: Error: bad instruction `ld rTempBis+5,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1079: Error: bad instruction `ld rTempBis+6,Y+'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:1080: Error: bad instruction `rjmp KeccakRhoPi_PiStore'

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=marvell-pj4 -O2 AVR8
gcc -funroll-loops -mcpu=marvell-pj4 -O3 AVR8
gcc -funroll-loops -mcpu=marvell-pj4 -Os AVR8
gcc -mcpu=marvell-pj4 -O2 AVR8
gcc -mcpu=marvell-pj4 -O3 AVR8
gcc -mcpu=marvell-pj4 -Os AVR8

Compiler output

Implementation: crypto_aead/lunarkeyakv2/ARMv7M
Compiler: gcc -funroll-loops -mcpu=marvell-pj4 -O2
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s: Assembler messages:
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406: Error: bad arguments to instruction -- `uxth r9'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406: Error: bad arguments to instruction -- `uxth r10'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406: Error: bad arguments to instruction -- `uxth r11'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406: Error: bad arguments to instruction -- `uxth r12'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406: Error: bad arguments to instruction -- `uxth lr'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:408: Error: bad arguments to instruction -- `uxth r9'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:408: Error: bad arguments to instruction -- `uxth r10'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:408: Error: bad arguments to instruction -- `uxth r11'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:408: Error: bad arguments to instruction -- `uxth r12'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:408: Error: bad arguments to instruction -- `uxth lr'

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=marvell-pj4 -O2 ARMv7M
gcc -funroll-loops -mcpu=marvell-pj4 -O3 ARMv7M
gcc -funroll-loops -mcpu=marvell-pj4 -Os ARMv7M
gcc -mcpu=marvell-pj4 -O2 ARMv7M
gcc -mcpu=marvell-pj4 -O3 ARMv7M
gcc -mcpu=marvell-pj4 -Os ARMv7M