Implementation notes: aarch64, supercoplxc, crypto_aead/pi64cipher256v2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi64cipher256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1632006443 8 021356 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
1723207531 8 022436 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
18208026307 8 042305 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
18584025739 8 040401 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
19712026967 8 042985 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
19824026451 8 041137 928 880goptvgcc_-O3_-fomit-frame-pointer2019091120190816
2115207927 8 022820 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2116007927 8 022820 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2116807927 8 022772 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2117607927 8 022820 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2128806987 8 021884 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2129606987 8 021828 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2129606987 8 021884 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2130406987 8 021884 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
21872025251 8 040784 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
23480025343 8 040784 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
24408022123 8 035472 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
24920022563 8 035976 920 864goptvgcc_-O2_-fomit-frame-pointer2019091120190816
27568024779 8 041064 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
27576024779 8 041064 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
28440021851 8 034912 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
28456021851 8 034912 920 864goptvgcc_-O_-fomit-frame-pointer2019091120190816
2958408675 8 023305 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
3100009307 8 025265 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
3138409175 8 025169 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
3159208599 8 023249 928 880ref3gcc_-O3_-fomit-frame-pointer2019091120190816
3639208483 8 023896 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
3651209119 8 024632 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
3732006071 8 019440 920 864ref3gcc_-O2_-fomit-frame-pointer2019091120190816
3769606155 8 019464 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
3898404695 8 016887 912 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
3899204695 8 016887 912 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
3961604671 8 016799 912 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
3962404671 8 016799 912 856ref3gcc_-Os_-fomit-frame-pointer2019091120190816
5155209779 8 022079 912 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
5164809779 8 022079 912 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
5290407279 8 023520 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
5290407279 8 023520 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
5291209547 8 021783 912 856goptvgcc_-Os_-fomit-frame-pointer2019091120190816
5295209547 8 021783 912 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
5344804991 8 018024 920 864ref3gcc_-O_-fomit-frame-pointer2019091120190816
5346404991 8 018024 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
8491208319 8 023768 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
8522408827 8 024376 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
9368008255 8 022921 928 880ref2gcc_-O3_-fomit-frame-pointer2019091120190816
9472809099 8 025113 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
9666409391 8 025377 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
9807208423 8 023081 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
11043208083 8 024352 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
11043208083 8 024352 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
12372005823 8 019232 920 864ref2gcc_-O2_-fomit-frame-pointer2019091120190816
13488805079 8 017287 912 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
13488805079 8 017287 912 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
14374405843 8 019200 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
15036005051 8 017215 912 856ref2gcc_-Os_-fomit-frame-pointer2019091120190816
15044005051 8 017215 912 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
17520005675 8 018720 920 864ref2gcc_-O_-fomit-frame-pointer2019091120190816
17520805675 8 018720 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
260248020320 8 038009 912 864goptvgcc2019091120190816
260256020320 8 038009 912 864goptvcc2019091120190816
260320020320 8 038009 912 864goptvgcc_-funroll-loops2019091120190816
38616008028 8 025617 912 864ref3gcc_-funroll-loops2019091120190816
38617608028 8 025617 912 864ref3cc2019091120190816
38620008028 8 025617 912 864ref3gcc2019091120190816
79210408488 8 026089 912 864ref2cc2019091120190816
79218408488 8 026089 912 864ref2gcc2019091120190816
79218408488 8 026089 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