Implementation notes: aarch64, rockpi4, crypto_aead/pi32cipher256v2

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi32cipher256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11564017291 8 033527 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
11605316487 8 031383 928 880goptvgcc_-O3_-fomit-frame-pointer2019091320190816
12348714451 8 028174 920 864goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
12637818043 8 033782 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
13009514971 8 028534 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
13009516119 8 031095 928 880goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
13216018751 8 035582 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
13629015791 8 029414 920 864goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
14042017603 8 033807 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
14289817111 8 032782 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
15157116687 8 031551 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
15817914363 8 027998 920 864goptvgcc_-O2_-fomit-frame-pointer2019091320190816
1986538451 8 023876 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
20154418751 8 035582 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
21393415755 8 029366 920 864goptvgcc_-O_-fomit-frame-pointer2019091320190816
21393415755 8 029366 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
2184778827 8 024244 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2184778827 8 024244 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2184776247 8 021668 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2188906247 8 021668 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2403665863 8 021300 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
2634947703 8 020454 904 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
2672117703 8 020454 904 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
2680378531 8 023892 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2684508827 8 024244 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2696896247 8 021620 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
2696896247 8 021668 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
3006647527 8 022487 928 880ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
3109897451 8 022319 928 880ref3gcc_-O3_-fomit-frame-pointer2019091320190816
3242055567 8 019254 920 864ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
3328784747 8 018334 920 864ref3gcc_-O_-fomit-frame-pointer2019091320190816
3403125523 8 019038 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
3473338367 8 024086 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
3572457779 8 023414 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
3588974339 8 016910 904 856ref3gcc_-Os_-fomit-frame-pointer2019091320190816
3692224363 8 016998 904 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
3783087495 8 022327 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
3935898103 8 024279 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
3944158031 8 024239 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
4708205503 8 019102 920 864ref3gcc_-O2_-fomit-frame-pointer2019091320190816
4737117383 8 020070 904 856goptvgcc_-Os_-fomit-frame-pointer2019091320190816
4737117383 8 020070 904 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
4753637399 8 020086 904 856goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
4960134363 8 016998 904 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
5034474339 8 016910 904 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
5117074359 8 016926 904 856ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
6430417027 8 023838 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
6455197027 8 023838 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
6500624747 8 018334 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
6599744783 8 018366 920 864ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
68351512848 8 031063 912 864goptvgcc_-funroll-loops2019091320190816
7120128191 8 023950 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
7244027867 8 022839 928 880ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
7669418059 8 024878 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
9172735419 8 019038 920 864ref2gcc_-O2_-fomit-frame-pointer2019091320190816
9701378471 8 023327 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
10552155311 8 018918 920 864ref2gcc_-O_-fomit-frame-pointer2019091320190816
10564545355 8 018950 920 864ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
10605844779 8 017366 904 856ref2gcc_-Os_-fomit-frame-pointer2019091320190816
10647144803 8 017398 904 856ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
10791694779 8 017366 904 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
10849515311 8 018918 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
10878424815 8 017454 904 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
11861367679 8 023342 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
13265568427 8 023295 928 880ref2gcc_-O3_-fomit-frame-pointer2019091320190816
13426639187 8 025399 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
13554669295 8 025479 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
16280468059 8 024878 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
166191212848 8 031063 912 864goptvgcc2019091320190816
166315112848 8 031063 912 864goptvcc2019091320190816
17701185515 8 019230 920 864ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
20848244815 8 017454 904 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
21480135499 8 019054 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
21604037828 8 025943 912 864ref3gcc_-funroll-loops2019091320190816
21851837828 8 025943 912 864ref3gcc2019091320190816
53941938068 8 026191 912 864ref2gcc2019091320190816
58047157828 8 025943 912 864ref3cc2019091320190816
120075628068 8 026191 912 864ref2gcc_-funroll-loops2019091320190816
120757078068 8 026191 912 864ref2cc2019091320190816

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