Implementation notes: armeabi, odroid, crypto_aead/aeadaes256ocbtaglen128v1

Computer: odroid
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: aeadaes256ocbtaglen128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
244593optgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
244819optgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806
245072optgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
247186optgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
352944refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016082420160806
354998refgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016082420160806
391223refgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016082420160806
403389refgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016082420160806
403661refgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016082420160806

Test failure

Implementation: crypto_aead/aeadaes256ocbtaglen128v1/opt
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111
crypto_aead_encrypt is nondeterministic

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

Compiler output

Implementation: crypto_aead/aeadaes256ocbtaglen128v1/dolbeau/armv8crypto
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:81:16: warning: implicit declaration of function 'vaesimcq_u8' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: dkeys[i] = vaesimcq_u8(ekeys[14-i]);
encrypt.c: ^
encrypt.c: encrypt.c:81:14: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: dkeys[i] = vaesimcq_u8(ekeys[14-i]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:118:10: warning: implicit declaration of function 'vaeseq_u8' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+208)));
encrypt.c: ^
encrypt.c: encrypt.c:118:8: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+208)));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:158:10: warning: implicit declaration of function 'vaesdq_u8' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: temp = vaesdq_u8(temp, vld1q_u8((rkeys+208)));
encrypt.c: ^
encrypt.c: encrypt.c:158:8: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: temp = vaesdq_u8(temp, vld1q_u8((rkeys+208)));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:281:1: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: FUNC(4, MAKE4, MAKE4COMMA)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:238:11: note: expanded from macro 'FUNC'
encrypt.c: MAKEN(AESENCLASTx); \
encrypt.c: ~~~~~~^~~~~~~~~~~~
encrypt.c: encrypt.c:213:3: note: expanded from macro 'MAKE4'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aeadaes256ocbtaglen128v1/dolbeau/armv8crypto
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
encrypt.c: In file included from encrypt.c:47:0:
encrypt.c: encrypt.c: In function 'aes256ni_setkey_e2d':
encrypt.c: /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/6.1.1/include/arm_neon.h:14742:1: error: inlining failed in call to always_inline 'vaesimcq_u8': target specific option mismatch
encrypt.c: vaesimcq_u8 (uint8x16_t __data)
encrypt.c: ^~~~~~~~~~~
encrypt.c: encrypt.c:81:16: note: called from here
encrypt.c: dkeys[i] = vaesimcq_u8(ekeys[14-i]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~

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