Implementation notes: armeabi, novenablue, crypto_aead/aes128gcmv1

Computer: novenablue
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20200702
Operation: crypto_aead
Primitive: aes128gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
225815852 0 021887 456 824opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
225866848 0 020175 456 824opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
225944512 0 013664 448 816opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
225965536 0 013128 448 816opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
226012848 0 020175 456 824opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
226138512 0 015265 452 816opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
226161848 0 021871 456 824opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
226188848 0 019113 452 824opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
226507490 0 012472 440 816opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
84572753424 0 1622348 424 840refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
84573393424 0 1624044 424 840refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
84587623424 0 1622348 424 840refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
85211522368 0 1620230 420 840refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
85835373424 0 1624060 424 840refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
240886112836 0 1617290 420 832refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
286329641576 0 1614429 416 832refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
302862131576 0 1613869 416 832refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
346065301344 0 1613025 408 832refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
armv8crypto.c: armv8crypto.c:82:10: warning: implicit declaration of function 'vaeseq_u8' is invalid in C99 [-Wimplicit-function-declaration]
armv8crypto.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:82:8: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
armv8crypto.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
armv8crypto.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armv8crypto.c: armv8crypto.c:237:1: error: invalid conversion between vector type 'uint32x4_t' (vector of 4 'uint32_t' values) and integer type 'int' of different size
armv8crypto.c: FUNC(2, MAKE2)
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:232:11: note: expanded from macro 'FUNC'
armv8crypto.c: MAKEN(AESENCLASTx); \
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:189:3: note: expanded from macro 'MAKE2'
armv8crypto.c: X(0);X(1)
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:181:11: note: expanded from macro 'AESENCLASTx'
armv8crypto.c: nv##a = (uint32x4_t)vaeseq_u8((uint8x16_t)nv##a, vld1q_u8((rkeys+144))); nv##a = veorq_u32(nv##a, vld1q_u32((unsigned int*)(rkeys+160)))
armv8crypto.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armv8crypto.c: armv8crypto.c:237:1: error: invalid conversion between vector type 'uint32x4_t' (vector of 4 'uint32_t' values) and integer type 'int' of different size
armv8crypto.c: FUNC(2, MAKE2)
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:232:11: note: expanded from macro 'FUNC'
armv8crypto.c: MAKEN(AESENCLASTx); \
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:189:8: note: expanded from macro 'MAKE2'
armv8crypto.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/armv8crypto
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/armv8crypto
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/armv8crypto
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/armv8crypto
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
armv8crypto.c: In file included from armv8crypto.c:11:0:
armv8crypto.c: /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
armv8crypto.c: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c: In function 'aes_armv8_encrypt1':
armv8crypto.c: armv8crypto.c:53:3: error: unknown type name 'uint8x16_t'
armv8crypto.c: uint8x16_t temp = vld1q_u8(n);
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:65:5: error: unknown type name 'uint32x4_t'
armv8crypto.c: uint32x4_t t;
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c: At top level:
armv8crypto.c: armv8crypto.c:90:15: error: unknown type name 'uint32x4_t'
armv8crypto.c: static inline uint32x4_t vreversedbwq_u128(const uint32x4_t x) {
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:90:50: error: unknown type name 'uint32x4_t'
armv8crypto.c: static inline uint32x4_t vreversedbwq_u128(const uint32x4_t x) {
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c: In function 'vreversedbwq_u128':
armv8crypto.c: armv8crypto.c:91:2: error: unknown type name 'uint8x16_t'
armv8crypto.c: uint8x16_t x2 = vreinterpretq_u8_u32(x);
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:92:2: error: unknown type name 'uint8x16_t'
armv8crypto.c: uint8x16_t x2r = vextq_u8(x2,x2,8);
armv8crypto.c: ^
armv8crypto.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