Implementation notes: armeabi, c1, crypto_aead/lakekeyakv2

Computer: c1
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: lakekeyakv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
307947generic32lcgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
309058generic32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
313060generic32lcgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
314976generic32gcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
348736generic64lcgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
379402generic64gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
384853generic64gcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
385120generic64lcgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
435231generic32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
450858generic32lcgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
455302generic32lcgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
460213generic32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
464353generic32gcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
477888generic32lcgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
490666referencegcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
498270generic32gcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
504353generic32lcgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
509112referencegcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
597820referencegcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
642210compactgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
654387compactgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
663036compactgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
881646compactgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
924356generic64lcgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
1004788generic64lcgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
1042255compactgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
1084173compactgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
1087101generic64lcgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
1096037generic64gcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
1116074generic64lcgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
1148908generic64gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
1176759generic64gcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
1441940generic64gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
1506541referencegcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
2946528referencegcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
3302265referencegcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
3563853reference32bitsgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
4192035reference32bitsgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
4209736reference32bitsgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
5115386reference32bitsgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
5158861refnewg++ -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
5258059refnewg++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
5420105refg++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
5448578refnewg++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
5604390refg++ -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
5638219refg++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
6223172refg++ -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
6627256refnewg++ -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
6777041reference32bitsgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
6820470reference32bitsgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
16354369refg++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
16439578refg++ -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
16486988refnewg++ -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
17180019refnewg++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026

Test failure

Implementation: crypto_aead/lakekeyakv2/ARMv6M
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 ARMv6M
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv6M
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os ARMv6M
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 ARMv6M
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv6M
gcc -mcpu=native -mfpu=neon-vfpv4 -Os ARMv6M

Compiler output

Implementation: crypto_aead/lakekeyakv2/ref
Compiler: g++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -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=native -mfpu=neon-vfpv4 -O2 ref refnew
g++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 ref refnew
g++ -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os ref refnew
g++ -mcpu=native -mfpu=neon-vfpv4 -O2 ref refnew
g++ -mcpu=native -mfpu=neon-vfpv4 -O3 ref refnew
g++ -mcpu=native -mfpu=neon-vfpv4 -Os ref refnew

Compiler output

Implementation: crypto_aead/lakekeyakv2/ARMv8A
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -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:275: Error: ARM register expected -- `ldrb w3,[x0,x2]'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:276: Error: ARM register expected -- `eor w3,w3,w1'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:277: Error: ARM register expected -- `strb w3,[x0,x2]'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:278: Error: bad instruction `ret'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:288: Error: ARM register expected -- `add x0,x0,x2'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:289: Error: ARM register expected -- `subs w4,w3,#1'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:290: Error: unexpected character `c' in type specifier
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:290: Error: bad instruction `b.cc KeccakP1600_AddBytes_Exit'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:292: Error: ARM register expected -- `subs w3,w3,#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:293: Error: unexpected character `c' in type specifier
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:293: Error: bad instruction `b.cc KeccakP1600_AddBytes_Lanes'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:294: Error: bad instruction `ld4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0]'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:295: Error: bad instruction `ld4 { v4.2d,v5.2d,v6.2d,v7.2d },[x1],#64'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:296: Error: ARM register expected -- `eor v0.16b,v0.16b,v4.16b'
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:297: Error: bad arguments to instruction -- `eor v1.16b,v1.16b,v5.16b'
KeccakP-1600-armv8a-neon.s: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 ARMv8A
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv8A
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os ARMv8A
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 ARMv8A
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv8A
gcc -mcpu=native -mfpu=neon-vfpv4 -Os ARMv8A

Compiler output

Implementation: crypto_aead/lakekeyakv2/AVR8
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -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:28: Error: bad instruction `void KeccakP1600_StaticInitialize(void)'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:32: Error: junk at end of line, first unrecognized character is `-'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:34: Error: bad instruction `void KeccakP1600_Initialize(void*state)'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:36: Error: bad instruction `argument state is passed in r24:r25'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:40: Error: ARM register expected -- `movw rZ,r24'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:41: Error: bad instruction `ldi r23,5*5'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:41: Error: bad instruction `clear state(8 bytes/1 lane per iteration)'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:43: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:44: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:45: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:46: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:47: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:48: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:49: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:50: Error: bad instruction `st z+,zero'
KeccakP-1600-avr8-fast.s: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 AVR8
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 AVR8
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os AVR8
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 AVR8
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 AVR8
gcc -mcpu=native -mfpu=neon-vfpv4 -Os AVR8

Compiler output

Implementation: crypto_aead/lakekeyakv2/ARMv7M
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -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=native -mfpu=neon-vfpv4 -O2 ARMv7M
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv7M
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os ARMv7M
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 ARMv7M
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv7M
gcc -mcpu=native -mfpu=neon-vfpv4 -Os ARMv7M

Compiler output

Implementation: crypto_aead/lakekeyakv2/ARMv7A
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
try.c: crypto_aead_lakekeyakv2.a(Motorist.o): In function `KeyakWidth1600times2_Motorist_Initialize':
try.c: Motorist.c:(.text+0x...): undefined reference to `KeccakP1600times2_StaticInitialize'
try.c: crypto_aead_lakekeyakv2.a(KeccakP-1600-times4-on2.o): In function `KeccakP1600times4_StaticInitialize':
try.c: KeccakP-1600-times4-on2.c:(.text+0x...): undefined reference to `KeccakP1600times2_StaticInitialize'
try.c: crypto_aead_lakekeyakv2.a(KeccakP-1600-times8-on2.o): In function `KeccakP1600times8_StaticInitialize':
try.c: KeccakP-1600-times8-on2.c:(.text+0x...): undefined reference to `KeccakP1600times2_StaticInitialize'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 ARMv7A
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv7A
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os ARMv7A
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 ARMv7A
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 ARMv7A
gcc -mcpu=native -mfpu=neon-vfpv4 -Os ARMv7A