Implementation notes: aarch64, supercoplxc, crypto_core/aes128encrypt

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_core
Primitive: aes128encrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3201404 0 014742 800 792dolbeau/armv8cryptoclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
6403560 0 015641 888 784dolbeau/std-1ftgcc_-O3_-fomit-frame-pointer2019082820190816
6403528 0 016400 880 768dolbeau/std-1ftgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
6403568 0 017017 888 784dolbeau/std-1ftgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
6403968 0 014768 880 768dolbeau/std-2ftgcc_-O2_-fomit-frame-pointer2019082820190816
6404560 0 016633 888 784dolbeau/std-2ftgcc_-O3_-fomit-frame-pointer2019082820190816
6404552 0 017416 880 768dolbeau/std-2ftgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
6404560 0 018017 888 784dolbeau/std-2ftgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
6406652 0 018737 888 784dolbeau/std-4ftgcc_-O3_-fomit-frame-pointer2019082820190816
6406620 0 019488 880 768dolbeau/std-4ftgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
6406660 0 020113 888 784dolbeau/std-4ftgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
7202792 0 016126 800 792dolbeau/std-1ftclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
7202980 0 013776 880 768dolbeau/std-1ftgcc_-O2_-fomit-frame-pointer2019082820190816
7203836 0 017174 800 792dolbeau/std-2ftclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
7205908 0 019246 800 792dolbeau/std-4ftclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
7206060 0 016864 880 768dolbeau/std-4ftgcc_-O2_-fomit-frame-pointer2019082820190816
8002800 0 016086 800 792dolbeau/std-1ftclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8002800 0 016134 800 792dolbeau/std-1ftclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8002800 0 016134 800 792dolbeau/std-1ftclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8002800 0 016134 800 792dolbeau/std-1ftclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8003832 0 017118 800 792dolbeau/std-2ftclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8003832 0 017166 800 792dolbeau/std-2ftclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8003832 0 017166 800 792dolbeau/std-2ftclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8003832 0 017166 800 792dolbeau/std-2ftclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8004500 0 017472 880 768dolbeau/std-2ftgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
8004536 0 017969 888 784dolbeau/std-2ftgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
8005904 0 019190 800 792dolbeau/std-4ftclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8005904 0 019238 800 792dolbeau/std-4ftclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8005904 0 019238 800 792dolbeau/std-4ftclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8005904 0 019238 800 792dolbeau/std-4ftclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
8803480 0 016448 880 768dolbeau/std-1ftgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
8803516 0 016953 888 784dolbeau/std-1ftgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
8803964 0 014088 864 760dolbeau/std-2ftgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
8803964 0 014088 864 760dolbeau/std-2ftgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
8806028 0 016152 864 760dolbeau/std-4ftgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
8806556 0 019528 880 768dolbeau/std-4ftgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
8806592 0 020025 888 784dolbeau/std-4ftgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
8806028 0 016152 864 760dolbeau/std-4ftgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
880132 0 013826 880 768opensslcc2019082820190816
88076 0 013568 816 792opensslclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
88076 0 013624 816 792opensslclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
88076 0 013624 816 792opensslclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
88076 0 013624 816 792opensslclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
88076 0 013624 816 792opensslclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
880132 0 013826 880 768opensslgcc2019082820190816
880132 0 011146 896 768opensslgcc_-O2_-fomit-frame-pointer2019082820190816
880132 0 012427 904 784opensslgcc_-O3_-fomit-frame-pointer2019082820190816
880132 0 011250 896 768opensslgcc_-O_-fomit-frame-pointer2019082820190816
880132 0 010378 880 760opensslgcc_-Os_-fomit-frame-pointer2019082820190816
880132 0 011098 896 768opensslgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
880132 0 012419 904 784opensslgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
880132 0 011250 896 768opensslgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
880132 0 010378 880 760opensslgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
880132 0 013826 880 768opensslgcc_-funroll-loops2019082820190816
880132 0 013218 896 768opensslgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
880132 0 013803 904 784opensslgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
880132 0 014474 896 768opensslgcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
880132 0 010442 880 760opensslgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
880132 0 013314 896 768opensslgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
880132 0 013779 904 784opensslgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
880132 0 014474 896 768opensslgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
880132 0 010442 880 760opensslgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
9602956 0 013072 864 760dolbeau/std-1ftgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
9602956 0 013072 864 760dolbeau/std-1ftgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
9606028 0 016088 864 760dolbeau/std-4ftgcc_-Os_-fomit-frame-pointer2019082820190816
9606016 0 016768 880 768dolbeau/std-4ftgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
9606592 0 018665 888 784dolbeau/std-4ftgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
9606028 0 016088 864 760dolbeau/std-4ftgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
10403964 0 014024 864 760dolbeau/std-2ftgcc_-Os_-fomit-frame-pointer2019082820190816
10403952 0 014704 880 768dolbeau/std-2ftgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
10404536 0 016609 888 784dolbeau/std-2ftgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
10403964 0 014024 864 760dolbeau/std-2ftgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
11202956 0 013008 864 760dolbeau/std-1ftgcc_-Os_-fomit-frame-pointer2019082820190816
11202936 0 013696 880 768dolbeau/std-1ftgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
11203516 0 015593 888 784dolbeau/std-1ftgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
11202956 0 013008 864 760dolbeau/std-1ftgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
12006676 0 020840 880 768dolbeau/std-4ftgcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
12006676 0 020840 880 768dolbeau/std-4ftgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
12806076 0 017032 880 768dolbeau/std-4ftgcc_-O_-fomit-frame-pointer2019082820190816
12806076 0 017032 880 768dolbeau/std-4ftgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
13604012 0 014968 880 768dolbeau/std-2ftgcc_-O_-fomit-frame-pointer2019082820190816
13604012 0 014968 880 768dolbeau/std-2ftgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
13604612 0 018776 880 768dolbeau/std-2ftgcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
13604612 0 018776 880 768dolbeau/std-2ftgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
14403600 0 017768 880 768dolbeau/std-1ftgcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
14403600 0 017768 880 768dolbeau/std-1ftgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
15203008 0 013960 880 768dolbeau/std-1ftgcc_-O_-fomit-frame-pointer2019082820190816
15203008 0 013960 880 768dolbeau/std-1ftgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
48803404 14336 016936 15200 768dolbeau/std-4ftcc2019082820190816
48803404 14336 016936 15200 768dolbeau/std-4ftgcc2019082820190816
48803404 14336 016936 15200 768dolbeau/std-4ftgcc_-funroll-loops2019082820190816
60003512 14336 017032 15200 768dolbeau/std-2ftcc2019082820190816
60003512 14336 017032 15200 768dolbeau/std-2ftgcc2019082820190816
60003512 14336 017032 15200 768dolbeau/std-2ftgcc_-funroll-loops2019082820190816
66403560 14336 017080 15200 768dolbeau/std-1ftcc2019082820190816
66403560 14336 017080 15200 768dolbeau/std-1ftgcc2019082820190816
66403560 14336 017080 15200 768dolbeau/std-1ftgcc_-funroll-loops2019082820190816
3688804280 0 016385 888 784refgcc_-O3_-fomit-frame-pointer2019082820190816
3708004344 0 017825 888 784refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
3956004336 0 017793 888 784refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
4069602936 0 016254 800 792refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
4273604232 0 016329 888 784refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
5764803188 0 016510 800 792refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
5822403188 0 016510 800 792refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
5841603188 0 016510 800 792refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
5842403188 0 016454 800 792refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
5911202964 0 015848 880 768refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
5913602976 0 015952 880 768refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
7980003232 0 017376 880 768refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
7980003232 0 017376 880 768refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
21954401692 0 011808 864 760refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
22030401692 0 011808 864 760refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
22076001632 0 011696 864 760refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
22108001632 0 011696 864 760refgcc_-Os_-fomit-frame-pointer2019082820190816
24542401752 0 012560 880 768refgcc_-O2_-fomit-frame-pointer2019082820190816
25691201732 0 012496 880 768refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
27764001812 0 012736 880 768refgcc_-O_-fomit-frame-pointer2019082820190816
27786401812 0 012736 880 768refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
119744803712 0 021312 864 768refcc2019082820190816
119779203712 0 021312 864 768refgcc2019082820190816
119857603712 0 021312 864 768refgcc_-funroll-loops2019082820190816

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: cc
core.c: In file included from core.c:9:
core.c: core.c: In function 'aes128_armv8_encrypt':
core.c: /usr/lib/gcc/aarch64-linux-gnu/8/include/arm_neon.h:12426:1: error: inlining failed in call to always_inline 'vaeseq_u8': target specific option mismatch
core.c: vaeseq_u8 (uint8x16_t data, uint8x16_t key)
core.c: ^~~~~~~~~
core.c: core.c:46:10: note: called from here
core.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: In file included from core.c:9:
core.c: /usr/lib/gcc/aarch64-linux-gnu/8/include/arm_neon.h:12426:1: error: inlining failed in call to always_inline 'vaeseq_u8': target specific option mismatch
core.c: vaeseq_u8 (uint8x16_t data, uint8x16_t key)
core.c: ^~~~~~~~~
core.c: core.c:46:10: note: called from here
core.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
core.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
core.c: core.c:46:10: warning: implicit declaration of function 'vaeseq_u8' is invalid in C99 [-Wimplicit-function-declaration]
core.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
core.c: ^
core.c: core.c:46:8: error: assigning to 'uint8x16_t' (vector of 16 'uint8_t' values) from incompatible type 'int'
core.c: temp = vaeseq_u8(temp, vld1q_u8((rkeys+144)));
core.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: 1 warning and 1 error generated.

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