Implementation notes: aarch64, gcc185, crypto_stream/aes128ctr

Computer: gcc185
Microarchitecture: aarch64; Skylark (503f0002)
Architecture: aarch64
CPU ID: 503f0002
SUPERCOP version: 20230530
Operation: crypto_stream
Primitive: aes128ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
65256464 0 020838 832 824T:dolbeau/armv8cryptogcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
7050468 0 015237 872 800T:opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
7050488 0 014005 872 800T:opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
7050468 0 013739 864 800T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
7050492 0 016549 872 808T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
7050448 0 014277 888 808T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
7050440 0 013309 872 800T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
7125492 0 016549 872 808T:opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
7125452 0 014301 888 808T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
7125608 0 015605 888 824T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
780012153 2064 01184555 145185 15128T:cryptoppclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
780015426 4848 01186691 147545 15128T:cryptoppclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
780021788 2800 01187277 145161 15144T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
780022018 2800 01188795 145161 15144T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
78008621 2960 01174840 145913 15128T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
787512185 2064 01185883 145185 15144T:cryptoppclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
78759390 1480 01180983 145169 15128T:cryptoppclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053120230530
795020152 2800 01185760 145169 15144T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
108753596 0 016725 824 808T:dolbeau/armv8cryptogcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
114753664 0 016821 824 808T:dolbeau/armv8cryptogcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530
149252668 0 014853 808 800T:dolbeau/armv8cryptogcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023053120230530

Compiler output

Implementation: T:dolbeau/armv8crypto
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
armv8crypto.c: armv8crypto.c:112:1: warning: call to undeclared function 'vaeseq_u8'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
armv8crypto.c: FUNC(4, MAKE4)
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:105:13: note: expanded from macro 'FUNC'
armv8crypto.c: MAKEN(AESENCx); \
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:112:1: error: passing 'int' to parameter of incompatible type 'uint8x16_t' (vector of 16 'uint8_t' values)
armv8crypto.c: FUNC(4, MAKE4)
armv8crypto.c: ^~~~~~~~~~~~~~
armv8crypto.c: armv8crypto.c:105:13: note: expanded from macro 'FUNC'
armv8crypto.c: MAKEN(AESENCx); \
armv8crypto.c: ~~~~~~^~~~~~~~
armv8crypto.c: armv8crypto.c:62:3: note: expanded from macro 'MAKE4'
armv8crypto.c: X(0);X(1);X(2);X(3)
armv8crypto.c: ^~~~
armv8crypto.c: armv8crypto.c:49:35: note: expanded from macro 'AESENCx'
armv8crypto.c: temp##a = vreinterpretq_u32_u8(vaeseq_u8(vreinterpretq_u8_u32(temp##a), vreinterpretq_u8_u32(rkeys[i])));temp##a = vreinterpretq_u32_u8(vaesmcq_u8(vreinterpretq_u8_u32(temp##a)))
armv8crypto.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armv8crypto.c: /usr/lib64/clang/15.0.7/include/arm_neon.h:37158:49: note: passing argument to parameter '__p0' here
armv8crypto.c: __ai uint32x4_t vreinterpretq_u32_u8(uint8x16_t __p0) {
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:112:1: warning: call to undeclared function 'vaesmcq_u8'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
armv8crypto.c: FUNC(4, MAKE4)
armv8crypto.c: ^
armv8crypto.c: armv8crypto.c:105:13: note: expanded from macro 'FUNC'
armv8crypto.c: ...

Number of similar (compiler,implementation) pairs: 5, 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
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/armv8crypto