Implementation notes: aarch64, rockpi4, crypto_aead/pi64cipher256v2

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi64cipher256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1110977531 8 022964 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
12018325251 8 041310 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
12266125343 8 041310 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
12555222651 8 036694 920 864goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
12596522123 8 035998 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
1300956443 8 021876 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
1325736987 8 022356 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
1325736987 8 022404 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
1329867927 8 023348 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
13629021851 8 035438 920 864goptvgcc_-O_-fomit-frame-pointer2019091320190816
13876824779 8 041582 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
14537626307 8 042823 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
14868025739 8 040919 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
15735326967 8 043503 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
15859226451 8 041655 928 880goptvgcc_-O3_-fomit-frame-pointer2019091320190816
15859226663 8 041959 928 880goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
1689177927 8 023300 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
1689177927 8 023348 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
1689177927 8 023348 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
1697436987 8 022404 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
1701566987 8 022404 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
1961758599 8 023775 928 880ref3gcc_-O3_-fomit-frame-pointer2019091320190816
1961757279 8 024046 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
1965889175 8 025695 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
19906622563 8 036502 920 864goptvgcc_-O2_-fomit-frame-pointer2019091320190816
1990664991 8 018550 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
2089784691 8 017351 912 856ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
22012924779 8 041582 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
2201299119 8 025158 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
22673721851 8 035438 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
2267374671 8 017319 912 856ref3gcc_-Os_-fomit-frame-pointer2019091320190816
2267374671 8 017319 912 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
22756321891 8 035470 920 864goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
2288024695 8 017407 912 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
2358238675 8 023831 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
2444969547 8 022303 912 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
2444969563 8 022319 912 856goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
2453229547 8 022303 912 856goptvgcc_-Os_-fomit-frame-pointer2019091320190816
2473879307 8 025783 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
2482139779 8 022607 912 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
2515179779 8 022607 912 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
2531698799 8 024063 928 880ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
2903398483 8 024414 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
2952956143 8 020142 920 864ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
2977736071 8 019966 920 864ref3gcc_-O2_-fomit-frame-pointer2019091320190816
3006646155 8 019990 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
3105764695 8 017407 912 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
3514638319 8 024294 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
3650928827 8 024902 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
4109358083 8 024870 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
4216737279 8 024046 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
4262164991 8 018550 920 864ref3gcc_-O_-fomit-frame-pointer2019091320190816
4270425035 8 018582 920 864ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
4865148423 8 023607 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
4947749391 8 025895 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
5191415823 8 019750 920 864ref2gcc_-O2_-fomit-frame-pointer2019091320190816
5302925879 8 019918 920 864ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
5517685051 8 017743 912 856ref2gcc_-Os_-fomit-frame-pointer2019091320190816
5546595051 8 017743 912 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
5653975079 8 017815 912 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
5720055675 8 019246 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
5852215675 8 019246 920 864ref2gcc_-O_-fomit-frame-pointer2019091320190816
6641048815 8 024111 928 880ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
7462918255 8 023447 928 880ref2gcc_-O3_-fomit-frame-pointer2019091320190816
7553779099 8 025639 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
8805168083 8 024870 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
10758655079 8 017815 912 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
11456625843 8 019718 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
11725078028 8 026135 912 864ref3gcc2019091320190816
11935705067 8 017759 912 856ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
13975925715 8 019278 920 864ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
207821620320 8 038535 912 864goptvgcc2019091320190816
208069420320 8 038535 912 864goptvcc2019091320190816
208730220320 8 038535 912 864goptvgcc_-funroll-loops2019091320190816
28443318488 8 026607 912 864ref2cc2019091320190816
31264108028 8 026135 912 864ref3cc2019091320190816
31301278028 8 026135 912 864ref3gcc_-funroll-loops2019091320190816
63738298488 8 026607 912 864ref2gcc_-funroll-loops2019091320190816
63783728488 8 026607 912 864ref2gcc2019091320190816

Test failure

Implementation: optimized_nonSSE
Security model: unknown
Compiler: cc
error 111
crypto_aead_encrypt returns more than crypto_aead_ABYTES extra bytes

Number of similar (compiler,implementation) pairs: 56, namely:
CompilerImplementations
cc optimized_nonSSE
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
gcc optimized_nonSSE
gcc -O2 -fomit-frame-pointer optimized_nonSSE
gcc -O3 -fomit-frame-pointer optimized_nonSSE
gcc -O -fomit-frame-pointer optimized_nonSSE
gcc -Os -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O2 -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O3 -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops optimized_nonSSE
gcc -funroll-loops -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -Os -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer optimized_nonSSE
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer optimized_nonSSE
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv optimized_nonSSE
cc ref
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: goptv
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
pi-cipher.c: pi-cipher.c:286:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: n_t += __builtin_shuffle(y, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:305:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: m_t += __builtin_shuffle(x, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:354:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: m_t += __builtin_shuffle(x, g_mask);
pi-cipher.c: ^
pi-cipher.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments goptv
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments goptv
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments goptv
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments goptv
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments goptv