Implementation notes: aarch64, rockpi4, crypto_aead/aeadaes128ocbtaglen128v1

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: aeadaes128ocbtaglen128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
107386448 0 024564 800 888dolbeau/armv8cryptoclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
123908072 0 025583 920 880dolbeau/armv8cryptogcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
214765088 0 021326 912 864dolbeau/armv8cryptogcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
256065168 0 021398 912 864dolbeau/armv8cryptogcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
256064520 0 019694 896 856dolbeau/armv8cryptogcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
999466104 0 022853 968 864optgcc_-O2_-fomit-frame-pointer2019120120190816
1003596792 0 025581 968 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120120190816
1003597160 0 027221 968 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019120120190816
1015986872 0 025749 968 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120120190816
1015985264 0 021085 952 856optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120120190816
1020115292 0 021069 952 856optgcc_-Os_-fomit-frame-pointer2019120120190816
1028376376 0 024301 968 880optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120120190816
1028376328 0 024373 968 880optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120120190816
1044895332 0 023962 848 888optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120120190816
1053155320 0 023898 848 888optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019120120190816
1069675420 0 024058 848 888optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019120120190816
1201837684 0 035109 952 864optgcc_-funroll-loops2019120120190816
1350516768 0 025194 832 888refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019120120190816
1358777024 0 025498 832 888refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120120190816
1391815944 0 023685 952 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120120190816
1437245952 0 025029 952 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120120190816
1457895904 0 025021 952 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120120190816
1470285880 0 023741 952 880refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120120190816
1486805776 0 024420 944 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120120190816
1528103052 0 022884 944 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019120120190816
1585926324 0 025589 968 880optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120120190816
1594185332 0 023962 848 888optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120120190816
1594185332 0 023962 848 888optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120120190816
1598316248 0 024197 968 880optgcc_-O3_-fomit-frame-pointer2019120120190816
1606575264 0 021085 952 856optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120120190816
1610706332 0 023029 968 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120120190816
1614836152 0 023013 968 864optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120120190816
1618967160 0 027221 968 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120120190816
1618966284 0 023133 968 864optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120120190816
1631356196 0 025485 968 880optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120120190816
1631355292 0 021069 952 856optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120120190816
1635486284 0 023133 968 864optgcc_-O_-fomit-frame-pointer2019120120190816
1635486284 0 023133 968 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120120190816
1647875292 0 021069 952 856optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120120190816
1788291792 0 017364 928 856refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120120190816
1903932712 0 019156 944 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120120190816
1916322076 0 018684 944 864refgcc_-O_-fomit-frame-pointer2019120120190816
1924581796 0 017316 928 856refgcc_-Os_-fomit-frame-pointer2019120120190816
1928711796 0 017316 928 856refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120120190816
1932842076 0 018684 944 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120120190816
2015447684 0 035109 952 864optcc2019120120190816
2015447684 0 035109 952 864optgcc2019120120190816
2209555856 0 023629 952 880refgcc_-O3_-fomit-frame-pointer2019120120190816
2370627024 0 025498 832 888refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120120190816
2391276696 0 025178 832 888refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019120120190816
2403667024 0 025498 832 888refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120120190816
2618425696 0 024236 944 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120120190816
3221403052 0 022884 944 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120120190816
4088702712 0 019212 944 864refgcc_-O2_-fomit-frame-pointer2019120120190816
4088702744 0 019340 944 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120120190816
4121741796 0 017316 928 856refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120120190816
4138261792 0 017364 928 856refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120120190816
4278682076 0 018684 944 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120120190816
13414242856 0 030069 936 864refcc2019120120190816
13434892856 0 030069 936 864refgcc2019120120190816
13447282856 0 030069 936 864refgcc_-funroll-loops2019120120190816

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: cc
encrypt.c: In file included from encrypt.c:47:
encrypt.c: encrypt.c: In function 'aes128ni_setkey_e2d':
encrypt.c: /usr/lib/gcc/aarch64-linux-gnu/8/include/arm_neon.h:12447: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[10-i]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
cc dolbeau/armv8crypto
gcc dolbeau/armv8crypto
gcc -O2 -fomit-frame-pointer dolbeau/armv8crypto
gcc -O3 -fomit-frame-pointer dolbeau/armv8crypto
gcc -O -fomit-frame-pointer dolbeau/armv8crypto
gcc -Os -fomit-frame-pointer dolbeau/armv8crypto
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/armv8crypto
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/armv8crypto
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/armv8crypto
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops dolbeau/armv8crypto
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/armv8crypto
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/armv8crypto

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:81:16: warning: implicit declaration of function 'vaesimcq_u8' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: dkeys[i] = vaesimcq_u8(ekeys[10-i]);
encrypt.c: ^
encrypt.c: encrypt.c:81:14: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: dkeys[i] = vaesimcq_u8(ekeys[10-i]);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:118:10: warning: implicit declaration of function 'vaeseq_u8' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
encrypt.c: ^
encrypt.c: encrypt.c:118:8: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:158:10: warning: implicit declaration of function 'vaesdq_u8' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: temp = vaesdq_u8(temp, vld1q_u8((rkeys+144)));
encrypt.c: ^
encrypt.c: encrypt.c:158:8: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: temp = vaesdq_u8(temp, vld1q_u8((rkeys+144)));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:281:1: warning: implicit declaration of function 'vaeseq_u8' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: FUNC(4, MAKE4, MAKE4COMMA)
encrypt.c: ^
encrypt.c: encrypt.c:238:11: note: expanded from macro 'FUNC'
encrypt.c: MAKEN(AESENCLASTx); \
encrypt.c: ^
encrypt.c: encrypt.c:281:1: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/armv8crypto
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments dolbeau/armv8crypto
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments dolbeau/armv8crypto
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments dolbeau/armv8crypto