Implementation notes: aarch64, pi4b, crypto_core/aes128decrypt

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: aes128decrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5125764 0 018330 840 760T:dolbeau/std-1rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122320231222
5177272 0 016820 800 744T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
5217828 0 020394 840 760T:dolbeau/std-2rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122320231222
5255224 0 014772 800 744T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
52811480 0 022020 816 752T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
5377372 0 017924 816 752T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
53811408 0 020972 800 744T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
53911952 0 024522 840 760T:dolbeau/std-4rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122320231222
5427352 0 017803 808 752T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
5435300 0 015755 808 752T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
5455312 0 015860 816 752T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
60312248 0 023764 816 768T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
60411484 0 021939 808 752T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
6108152 0 019668 816 768T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
6196088 0 017596 816 768T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
932132 0 012892 856 760T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122320231222
934184 0 010949 848 752T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
934184 0 011901 848 768T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
937184 0 010836 840 752T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
977184 0 09949 832 744T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
2157545052 0 017618 840 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122320231222
2184334888 0 016436 816 768refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
11440752424 0 012972 816 752refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
12193892312 0 011860 800 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222
12202062516 0 012971 808 752refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122320231222

Test failure

Implementation: T:dolbeau/armv8crypto
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

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 'aes128_setkey_armv8_decrypt':
core.c: /usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:10920:1: error: inlining failed in call to 'always_inline' 'vaesimcq_u8': target specific option mismatch
core.c: 10920 | 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[10-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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: core.c:12:3: warning: 'AES_set_decrypt_key' is deprecated [-Wdeprecated-declarations]
core.c: AES_set_decrypt_key(k,128,&kexp);
core.c: ^
core.c: /usr/include/openssl/aes.h:53:1: note: 'AES_set_decrypt_key' has been explicitly marked deprecated here
core.c: OSSL_DEPRECATEDIN_3_0
core.c: ^
core.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
core.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
core.c: ^
core.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
core.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
core.c: ^
core.c: core.c:13:3: warning: 'AES_decrypt' is deprecated [-Wdeprecated-declarations]
core.c: AES_decrypt(in,out,&kexp);
core.c: ^
core.c: /usr/include/openssl/aes.h:59:1: note: 'AES_decrypt' has been explicitly marked deprecated here
core.c: OSSL_DEPRECATEDIN_3_0
core.c: ^
core.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
core.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
core.c: ^
core.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
core.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
core.c: ^
core.c: 2 warnings generated.

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
core.c: core.c: In function 'crypto_core_aes128decrypt_openssl_timingleaks':
core.c: core.c:12:3: warning: 'AES_set_decrypt_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
core.c: 12 | AES_set_decrypt_key(k,128,&kexp);
core.c: | ^~~~~~~~~~~~~~~~~~~
core.c: In file included from core.c:1:
core.c: /usr/include/openssl/aes.h:54:5: note: declared here
core.c: 54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
core.c: | ^~~~~~~~~~~~~~~~~~~
core.c: core.c:13:3: warning: 'AES_decrypt' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
core.c: 13 | AES_decrypt(in,out,&kexp);
core.c: | ^~~~~~~~~~~
core.c: In file included from core.c:1:
core.c: /usr/include/openssl/aes.h:60:6: note: declared here
core.c: 60 | void AES_decrypt(const unsigned char *in, unsigned char *out,
core.c: | ^~~~~~~~~~~

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