Implementation notes: armeabi, rpi4, crypto_aead/aeadaes256ocbtaglen128v1

Computer: rpi4
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_aead
Primitive: aeadaes256ocbtaglen128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
17105216772 18 034966 482 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
17194314324 18 031274 482 776optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
17530413344 18 028434 474 776optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
18408015340 18 031770 482 776optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
2116358172 0 026015 440 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
2132198736 0 035321 428 792refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
2142208748 0 036017 428 792refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
2226088500 0 028809 428 776refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
2280812636 0 020723 424 776refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
2310798500 0 028809 428 776refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010820191221
2535522696 0 018730 436 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
2640802124 0 018674 436 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010820191221
2687471804 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, q3.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, q1.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, q13.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, q5.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, q3.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, 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: ...

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 'aes256ni_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[14-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