Implementation notes: aarch64, rockpi4, crypto_aead/pi32cipher128v2

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi32cipher128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11564016483 8 031367 928 880goptvgcc_-O3_-fomit-frame-pointer2019091320190816
11605317287 8 033511 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
11729216115 8 031095 928 880goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
11770517107 8 032766 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
12307416671 8 031535 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
12431317587 8 033791 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
12431314447 8 028174 920 864goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
13629015747 8 029310 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
14991918027 8 033766 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
15817914359 8 027982 920 864goptvgcc_-O2_-fomit-frame-pointer2019091320190816
17717714955 8 028518 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
1986538447 8 023876 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
20113118743 8 035526 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
20195718743 8 035526 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
21393415747 8 029310 920 864goptvgcc_-O_-fomit-frame-pointer2019091320190816
21434715783 8 029358 920 864goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
2188908527 8 023892 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2188908823 8 024244 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2188906239 8 021652 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2193036239 8 021652 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2403665859 8 021284 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
2663857687 8 020422 904 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
2672117367 8 020038 904 856goptvgcc_-Os_-fomit-frame-pointer2019091320190816
2680378823 8 024244 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2684508823 8 024244 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2696896239 8 021604 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2696896239 8 021652 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2957087479 8 022311 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
3006647523 8 022487 928 880ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
3147068027 8 024223 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
3266834775 8 018310 920 864ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
3312267019 8 023782 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
3320524739 8 018278 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
3469208351 8 024070 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
3568325499 8 019086 920 864ref3gcc_-O2_-fomit-frame-pointer2019091320190816
3597234323 8 016894 904 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
3935898087 8 024263 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
3968937447 8 022303 928 880ref3gcc_-O3_-fomit-frame-pointer2019091320190816
4485187775 8 023398 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
4580177687 8 020422 904 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
4625605563 8 019254 920 864ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
4646255507 8 019022 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
4753637367 8 020038 904 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
4757767383 8 020054 904 856goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
4960134347 8 016982 904 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
4964264347 8 016982 904 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
5050994323 8 016894 904 856ref3gcc_-Os_-fomit-frame-pointer2019091320190816
5112944343 8 016910 904 856ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
6426287019 8 023782 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
6500624739 8 018278 920 864ref3gcc_-O_-fomit-frame-pointer2019091320190816
67649412848 8 031047 912 864goptvgcc2019091320190816
67649412848 8 031047 912 864goptvgcc_-funroll-loops2019091320190816
67938512848 8 031047 912 864goptvcc2019091320190816
6983838175 8 023918 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
7244027863 8 022839 928 880ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
7681808051 8 024822 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
9152085511 8 019230 920 864ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
9288379175 8 025383 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
9309029279 8 025447 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
9548568415 8 023279 928 880ref2gcc_-O3_-fomit-frame-pointer2019091320190816
9668338455 8 023295 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
10618235303 8 018862 920 864ref2gcc_-O_-fomit-frame-pointer2019091320190816
10622365303 8 018862 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
10647145347 8 018894 920 864ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
10713224787 8 017366 904 856ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
11853107667 8 023310 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
16218518051 8 024822 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
17705315407 8 019022 920 864ref2gcc_-O2_-fomit-frame-pointer2019091320190816
20848244799 8 017438 904 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
20885414799 8 017438 904 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
21451225483 8 019038 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
22000517828 8 025927 912 864ref3gcc2019091320190816
22541544763 8 017350 904 856ref2gcc_-Os_-fomit-frame-pointer2019091320190816
22553934763 8 017350 904 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
54404498068 8 026191 912 864ref2gcc2019091320190816
54573828068 8 026191 912 864ref2gcc_-funroll-loops2019091320190816
54829888068 8 026191 912 864ref2cc2019091320190816
57985207828 8 025927 912 864ref3cc2019091320190816
58038897828 8 025927 912 864ref3gcc_-funroll-loops2019091320190816

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