Implementation notes: aarch64, rockpi4, crypto_aead/aezv4

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: aezv4
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
702115888 0 033503 920 880aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091220190816
826011472 0 029460 800 888aesniclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091220190816
908611772 0 028134 912 864aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091220190816
1115111472 0 027846 912 864aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091220190816
2395412424 0 027710 896 856aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091220190816
46669036156 0 054751 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091220190816
55837646680 0 065719 936 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091220190816
61247930540 0 048796 816 888refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091220190816
65088830720 0 048988 816 888refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091220190816
66493040668 0 058495 936 880refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091220190816
66740831500 0 051295 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019091220190816
68847131500 0 051295 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091220190816
79172135720 0 054239 936 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091220190816
88216840680 0 058383 936 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091220190816
92801130384 0 048588 816 888refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091220190816
93833630540 0 048796 816 888refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091220190816
93957530540 0 048796 816 888refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091220190816
101102425896 0 042367 936 864refgcc_-O2_-fomit-frame-pointer2019091220190816
103332646540 0 065615 936 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091220190816
108784240556 0 058287 936 880refgcc_-O3_-fomit-frame-pointer2019091220190816
118241923288 0 042863 920 856refgcc_-Os_-fomit-frame-pointer2019091220190816
201791825976 0 042559 936 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091220190816
205178425796 0 042207 936 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091220190816
231403923284 0 038815 920 856refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091220190816
231486523284 0 038815 920 856refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091220190816
234914423344 0 042927 920 856refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091220190816
235038323288 0 042863 920 856refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091220190816
242761424836 0 041415 936 864refgcc_-O_-fomit-frame-pointer2019091220190816
242926624864 0 041447 936 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091220190816
243009224836 0 041415 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091220190816
441703536140 0 059143 920 864refgcc_-funroll-loops2019091220190816
442612136140 0 059143 920 864refgcc2019091220190816
446453036140 0 059143 920 864refcc2019091220190816

Compiler output

Implementation: aesni
Security model: unknown
Compiler: cc
encrypt.c: encrypt.c:182:2: error: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: ^~~~~
encrypt.c: encrypt.c:211:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:211:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:215:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:215:27: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c:220:1: error: unknown type name 'block'
encrypt.c: block zero_set_byte(char val, unsigned idx) {
encrypt.c: ^~~~~
encrypt.c: encrypt.c: In function 'zero_set_byte':
encrypt.c: encrypt.c:221:5: error: unknown type name 'block'
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^~~~~
encrypt.c: encrypt.c:221:17: error: 'zero' undeclared (first use in this function)
encrypt.c: block tmp = zero; ((char *)&tmp)[idx] = val; return tmp;
encrypt.c: ^~~~
encrypt.c: ...

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

Compiler output

Implementation: aesni
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:182:2: error: - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: ^
encrypt.c: encrypt.c:211:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:211:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:212:12: warning: implicit declaration of function 'vand' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: return vand(x, loadu(pad + zero_bytes));
encrypt.c: ^
encrypt.c: encrypt.c:212:20: warning: implicit declaration of function 'loadu' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: return vand(x, loadu(pad + zero_bytes));
encrypt.c: ^
encrypt.c: encrypt.c:215:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:215:27: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:216:5: error: use of undeclared identifier 'block'
encrypt.c: block *p = (block*)(pad + one_zero_bytes);
encrypt.c: ^
encrypt.c: encrypt.c:216:12: error: use of undeclared identifier 'p'
encrypt.c: ...

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