Implementation notes: armeabi, rpi4, crypto_aead/aeadaes128ocbtaglen128v1

Computer: rpi4
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_aead
Primitive: aeadaes128ocbtaglen128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13611016768 18 034798 482 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
13624815336 18 031610 482 776optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
13749814316 18 031138 482 776optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
13822113336 18 028426 474 776optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
1761378172 0 025855 440 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
1776378736 0 035289 428 792refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
1789428748 0 035985 428 792refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
1789988500 0 028769 428 776refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
1790548500 0 028769 428 776refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
1994132636 0 020683 424 776refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
2229982696 0 018570 436 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
2236642124 0 018546 436 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
2343301804 0 016490 428 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221

Test failure

Implementation: opt
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q4.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q10.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/armv8crypto
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/armv8crypto

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q9.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q7.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: ...

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

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q9.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q9.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/armv8crypto

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q14.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:1:2: note: instantiated into assembly here
encrypt.c: aese q8.16b, q2.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:31: error: invalid instruction
encrypt.c: asm("aese %0.16b, %1.16b\naesmc %0.16b, %0.16b\n" : "+w"(temp) : "w"(t));
encrypt.c: ^
encrypt.c: <inline asm>:2:1: note: instantiated into assembly here
encrypt.c: aesmc q8.16b, q8.16b
encrypt.c: ^
encrypt.c: encrypt.c:103:9: error: invalid instruction
encrypt.c: ...

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

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from encrypt.c:47:
encrypt.c: encrypt.c: In function 'aes128ni_setkey_e2d':
encrypt.c: /usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:16932: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[10-i]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~

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

Namespace violations

Implementation: opt
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ocb.o ae_allocate T
ocb.o ae_clear T
ocb.o ae_ctx_sizeof T
ocb.o ae_decrypt T
ocb.o ae_encrypt T
ocb.o ae_free T
ocb.o ae_init T
ocb.o gen_offset T
ocb.o infoString D

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o ocb_decrypt T
encrypt.o ocb_encrypt T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref