Implementation notes: aarch64, supercoplxc, crypto_aead/pi32cipher128v2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi32cipher128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16760016483 8 030841 928 880goptvgcc_-O3_-fomit-frame-pointer2019091020190816
16776017287 8 032993 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091020190816
17600017587 8 033265 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
17920017107 8 032240 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091020190816
18752018027 8 033240 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
18976016671 8 031009 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
19840014359 8 027456 920 864goptvgcc_-O2_-fomit-frame-pointer2019091020190816
22176014955 8 027992 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
25232018743 8 035008 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091020190816
25240018743 8 035008 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
26816015747 8 028792 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
26824015747 8 028792 920 864goptvgcc_-O_-fomit-frame-pointer2019091020190816
2984808447 8 023348 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
3013605859 8 020764 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
3362408527 8 023372 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3363208823 8 023716 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3363208823 8 023716 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3363208823 8 023716 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3383206239 8 021084 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3383206239 8 021132 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3384006239 8 021132 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3384006239 8 021132 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
4744807479 8 021785 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
4938408087 8 023737 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
4946408027 8 023705 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
4972007447 8 021785 928 880ref3gcc_-O3_-fomit-frame-pointer2019091120190816
5582408351 8 023544 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
5628007775 8 022872 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
5757607687 8 019902 904 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
5758407687 8 019902 904 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091020190816
5826405507 8 018496 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
5908805499 8 018560 920 864ref3gcc_-O2_-fomit-frame-pointer2019091120190816
5965607367 8 019518 904 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
5966407367 8 019518 904 856goptvgcc_-Os_-fomit-frame-pointer2019091020190816
6209604347 8 016454 904 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6224004347 8 016454 904 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
6362404323 8 016366 904 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6364004323 8 016366 904 856ref3gcc_-Os_-fomit-frame-pointer2019091120190816
8036007019 8 023264 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
8036007019 8 023264 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
8154404739 8 017752 920 864ref3gcc_-O_-fomit-frame-pointer2019091120190816
8154404739 8 017752 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
14875207667 8 022792 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
16092808175 8 023400 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
16648808415 8 022753 928 880ref2gcc_-O3_-fomit-frame-pointer2019091120190816
16840809175 8 024857 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
16984809279 8 024929 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
18030408455 8 022777 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
20352808051 8 024304 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
20353608051 8 024304 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
208112012848 8 030529 912 864goptvgcc2019091020190816
208120012848 8 030529 912 864goptvcc2019091020190816
208128012848 8 030529 912 864goptvgcc_-funroll-loops2019091020190816
22208005407 8 018496 920 864ref2gcc_-O2_-fomit-frame-pointer2019091120190816
26132804799 8 016910 904 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
26134404799 8 016910 904 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
26900005483 8 018512 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
28291204763 8 016822 904 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
28312004763 8 016822 904 856ref2gcc_-Os_-fomit-frame-pointer2019091120190816
32891205303 8 018336 920 864ref2gcc_-O_-fomit-frame-pointer2019091120190816
32892005303 8 018336 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
72124807828 8 025409 912 864ref3gcc_-funroll-loops2019091120190816
72127207828 8 025409 912 864ref3cc2019091120190816
72128807828 8 025409 912 864ref3gcc2019091120190816
150349608068 8 025665 912 864ref2cc2019091120190816
150368008068 8 025665 912 864ref2gcc2019091120190816
150368808068 8 025665 912 864ref2gcc_-funroll-loops2019091120190816

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: 48, 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
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

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