Implementation notes: armeabi, novena, crypto_core/aes256decrypt

Computer: novena
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20220506
Operation: crypto_core
Primitive: aes256decrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
32005160 0 025777 420 728T:dolbeau/std-1rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
32015168 0 017257 420 720T:dolbeau/std-1rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
32015168 0 015927 416 712T:dolbeau/std-1rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
32015212 0 012935 408 712T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
36005168 0 017673 420 712T:dolbeau/std-1rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
36005244 0 013615 416 712T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
36005256 0 014887 416 712T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
36007284 0 019377 420 720T:dolbeau/std-2rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
36007284 0 018039 416 712T:dolbeau/std-2rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
36007272 0 027889 420 728T:dolbeau/std-2rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
36007276 0 014999 408 712T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
360011368 0 020999 416 712T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
360111360 0 019079 408 712T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
360172 0 011133 424 712T:opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
39997320 0 015687 416 712T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
40007308 0 016935 416 712T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
40007280 0 015462 412 712T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
400011600 0 024105 420 712T:dolbeau/std-4rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
400011600 0 023689 420 720T:dolbeau/std-4rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
400072 0 012335 428 720T:opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
400072 0 020863 428 728T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
400040 0 09830 432 712T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
400038 0 07918 424 712T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
40015236 0 013414 412 712T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
400111600 0 022359 416 712T:dolbeau/std-4rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
400111536 0 032153 420 728T:dolbeau/std-4rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
400172 0 011005 424 712T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
400140 0 08566 432 712T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
400138 0 08381 428 712T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
44005516 0 016367 416 712T:dolbeau/std-1rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
44007576 0 018431 416 712T:dolbeau/std-2rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
440011724 0 022583 416 712T:dolbeau/std-4rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
440011392 0 019574 412 712T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
48007284 0 019785 420 712T:dolbeau/std-2rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
480011384 0 019751 416 712T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
680172 0 012751 428 712T:opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
6420513644 0 013255 416 712refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
9424766620 0 027201 420 728refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
9740786624 0 018681 420 720refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
13389083492 0 015961 420 712refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
20849682028 0 012743 416 712refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
21045691380 0 09087 408 712refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
21733751452 0 09807 416 712refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506
24970012032 0 012855 416 712refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060320220506
29686391406 0 09574 412 712refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060320220506

Compiler output

Implementation: T:dolbeau/armv8crypto
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: In file included from core.c:9:
core.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/arm_neon.h:32:2: error: "NEON support not enabled"
core.c: #error "NEON support not enabled"
core.c: ^
core.c: core.c:14:54: error: unknown type name 'uint8x16_t'
core.c: static inline void aes256_setkey_armv8_decrypt(const uint8x16_t key[], uint8x16_t *rkeys) {
core.c: ^
core.c: core.c:14:72: error: unknown type name 'uint8x16_t'
core.c: static inline void aes256_setkey_armv8_decrypt(const uint8x16_t key[], uint8x16_t *rkeys) {
core.c: ^
core.c: core.c:15:3: error: use of undeclared identifier 'uint8x16_t'
core.c: uint8x16_t tkeys[15];
core.c: ^
core.c: core.c:17:60: error: use of undeclared identifier 'tkeys'
core.c: aes256_setkey_encrypt((unsigned int*)key, (unsigned int*)tkeys);
core.c: ^
core.c: core.c:18:14: error: use of undeclared identifier 'tkeys'
core.c: rkeys[0] = tkeys[14];
core.c: ^
core.c: core.c:21:16: warning: implicit declaration of function 'vaesimcq_u8' is invalid in C99 [-Wimplicit-function-declaration]
core.c: rkeys[i] = vaesimcq_u8(tkeys[14-i]);
core.c: ^
core.c: core.c:21:28: error: use of undeclared identifier 'tkeys'
core.c: rkeys[i] = vaesimcq_u8(tkeys[14-i]);
core.c: ^
core.c: ...

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

Compiler output

Implementation: T:dolbeau/armv8crypto
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: core.c:21:16: warning: implicit declaration of function 'vaesimcq_u8' is invalid in C99 [-Wimplicit-function-declaration]
core.c: rkeys[i] = vaesimcq_u8(tkeys[14-i]);
core.c: ^
core.c: core.c:21:14: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
core.c: rkeys[i] = vaesimcq_u8(tkeys[14-i]);
core.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:58:10: warning: implicit declaration of function 'vaesdq_u8' is invalid in C99 [-Wimplicit-function-declaration]
core.c: temp = vaesdq_u8(temp, vld1q_u8((rkeys+208)));
core.c: ^
core.c: core.c:58:8: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
core.c: temp = vaesdq_u8(temp, vld1q_u8((rkeys+208)));
core.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: 2 warnings and 2 errors generated.

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

Compiler output

Implementation: T:dolbeau/armv8crypto
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
core.c: In file included from core.c:9:
core.c: core.c: In function ‘aes256_setkey_armv8_decrypt’:
core.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:16954:1: error: inlining failed in call to ‘always_inline’ ‘vaesimcq_u8’: target specific option mismatch
core.c: 16954 | vaesimcq_u8 (uint8x16_t __data)
core.c: | ^~~~~~~~~~~
core.c: core.c:21:16: note: called from here
core.c: 21 | rkeys[i] = vaesimcq_u8(tkeys[14-i]);
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~

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