Implementation notes: armeabi, odroid, crypto_aead/ketjesrv1

Computer: odroid
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: ketjesrv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
744299compactgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
746773referencegcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
1147221compactclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
1164493refgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
1170342referenceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
1507922refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
3321505referencegcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
3331573compactgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
3473548refgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
6195959compactgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
6252080referencegcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
6432834refgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
7853376referencegcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
7879191compactgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
8030521refgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806

Test failure

Implementation: crypto_aead/ketjesrv1/ARMv6M
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111

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

Compiler output

Implementation: crypto_aead/ketjesrv1/AVR8
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:2:21: error: unexpected token in argument list
KeccakP-1600-avr8-fast.s: ; Implementation by the Keccak, Keyak and Ketje Teams, namely, Guido Bertoni,
KeccakP-1600-avr8-fast.s: ^
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:3:21: error: invalid character in input
KeccakP-1600-avr8-fast.s: ; Joan Daemen, Michaël Peeters, Gilles Van Assche and Ronny Van Keer, hereby
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:3:22: error: invalid character in input
KeccakP-1600-avr8-fast.s: ; Joan Daemen, Michaël Peeters, Gilles Van Assche and Ronny Van Keer, hereby
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:3:21: error: unexpected token in argument list
KeccakP-1600-avr8-fast.s: ; Joan Daemen, Michaël Peeters, Gilles Van Assche and Ronny Van Keer, hereby
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:4:14: error: unexpected token in argument list
KeccakP-1600-avr8-fast.s: ; denoted as "the implementer".
KeccakP-1600-avr8-fast.s: ^
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:6:12: error: unexpected token in argument list
KeccakP-1600-avr8-fast.s: ; For more information, feedback or questions, please refer to our websites:
KeccakP-1600-avr8-fast.s: ^
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:8:3: error: invalid symbol redefinition
KeccakP-1600-avr8-fast.s: ; http://keyak.noekeon.org/
KeccakP-1600-avr8-fast.s: ^
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:9:3: error: invalid symbol redefinition
KeccakP-1600-avr8-fast.s: ; http://ketje.noekeon.org/
KeccakP-1600-avr8-fast.s: ^
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:11:10: error: unexpected token in argument list
KeccakP-1600-avr8-fast.s: ; To the extent possible under law, the implementer has waived all copyright
KeccakP-1600-avr8-fast.s: ^
KeccakP-1600-avr8-fast.s: KeccakP-1600-avr8-fast.s:12:15: error: unexpected token in argument list
KeccakP-1600-avr8-fast.s: ...

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

Compiler output

Implementation: crypto_aead/ketjesrv1/compact
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
KeccakP-200-compact.c: KeccakP-200-compact.c:20:36: warning: '/*' within block comment [-Wcomment]
KeccakP-200-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-200-compact.c: ^
KeccakP-200-compact.c: 1 warning generated.
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: '/*' within block comment [-Wcomment]
KeccakP-800-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-800-compact.c: ^
KeccakP-800-compact.c: 1 warning generated.

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

Compiler output

Implementation: crypto_aead/ketjesrv1/ARMv7M
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
KeccakP-400-armv7m-le-gcc.s: gt;:3:5: error: too few operands for instruction
KeccakP-400-armv7m-le-gcc.s: uxth r9
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: gt;:4:5: note: while in macro instantiation
KeccakP-400-armv7m-le-gcc.s: rolxor r9, r7, r2
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406:5: note: while in macro instantiation
KeccakP-400-armv7m-le-gcc.s: KeccakRound sp, r0
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: gt;:3:5: error: too few operands for instruction
KeccakP-400-armv7m-le-gcc.s: uxth r10
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: gt;:5:5: note: while in macro instantiation
KeccakP-400-armv7m-le-gcc.s: rolxor r10, r1, r3
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406:5: note: while in macro instantiation
KeccakP-400-armv7m-le-gcc.s: KeccakRound sp, r0
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: gt;:3:5: error: too few operands for instruction
KeccakP-400-armv7m-le-gcc.s: uxth r11
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: gt;:6:5: note: while in macro instantiation
KeccakP-400-armv7m-le-gcc.s: rolxor r11, r2, r4
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:406:5: note: while in macro instantiation
KeccakP-400-armv7m-le-gcc.s: ...

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

Compiler output

Implementation: crypto_aead/ketjesrv1/AVR8
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
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: 4, namely:
CompilerImplementations
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv AVR8
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv AVR8
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv AVR8
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv AVR8

Compiler output

Implementation: crypto_aead/ketjesrv1/ARMv7M
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
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: 4, namely:
CompilerImplementations
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv ARMv7M
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv ARMv7M
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv ARMv7M
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv ARMv7M