Implementation notes: aarch64, supercoplxc, crypto_aead/pi64cipher128v2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi64cipher128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1630406439 8 021348 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
1719207519 8 022420 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
18208026291 8 042281 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
18640025723 8 040369 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
19696026963 8 042969 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
19840026447 8 041121 928 880goptvgcc_-O3_-fomit-frame-pointer2019091120190816
2114407919 8 022764 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2116007919 8 022812 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2116807919 8 022812 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2119207919 8 022812 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2128806979 8 021820 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2128806979 8 021876 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2129606979 8 021876 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
2129606979 8 021876 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
21856025235 8 040760 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
23464025339 8 040768 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
24424022107 8 035440 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
24936022559 8 035960 920 864goptvgcc_-O2_-fomit-frame-pointer2019091120190816
27584024771 8 041048 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
27584024771 8 041048 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
28440021843 8 034896 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
28456021843 8 034896 920 864goptvgcc_-O_-fomit-frame-pointer2019091120190816
2958408659 8 023273 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
3093609291 8 025241 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
3144009171 8 025153 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
3172008595 8 023233 928 880ref3gcc_-O3_-fomit-frame-pointer2019091120190816
3644008479 8 023880 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
3650409103 8 024608 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
3729606067 8 019424 920 864ref3gcc_-O2_-fomit-frame-pointer2019091120190816
3769606139 8 019432 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
3897604679 8 016863 912 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
3898404679 8 016863 912 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
3961604655 8 016775 912 856ref3gcc_-Os_-fomit-frame-pointer2019091120190816
3964004655 8 016775 912 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
5152809763 8 022055 912 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
5163209763 8 022055 912 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
5290407271 8 023504 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
5290407271 8 023504 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
5292009531 8 021759 912 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
5292809531 8 021759 912 856goptvgcc_-Os_-fomit-frame-pointer2019091120190816
5344804983 8 018008 920 864ref3gcc_-O_-fomit-frame-pointer2019091120190816
5344804983 8 018008 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
8490408307 8 023744 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
8515208811 8 024352 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
9360808243 8 022897 928 880ref2gcc_-O3_-fomit-frame-pointer2019091120190816
9472009087 8 025089 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
9668809375 8 025353 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
9802408407 8 023049 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
11042408075 8 024336 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
11043208075 8 024336 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
12397605811 8 019208 920 864ref2gcc_-O2_-fomit-frame-pointer2019091120190816
13497605063 8 017263 912 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
13498405063 8 017263 912 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
14373605827 8 019168 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
14976005035 8 017191 912 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
14976805035 8 017191 912 856ref2gcc_-Os_-fomit-frame-pointer2019091120190816
17500805667 8 018704 920 864ref2gcc_-O_-fomit-frame-pointer2019091120190816
17500805667 8 018704 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
260264020320 8 038001 912 864goptvgcc_-funroll-loops2019091120190816
260336020320 8 038001 912 864goptvcc2019091120190816
260632020320 8 038001 912 864goptvgcc2019091120190816
38619208028 8 025609 912 864ref3cc2019091120190816
38620808028 8 025609 912 864ref3gcc2019091120190816
38620808028 8 025609 912 864ref3gcc_-funroll-loops2019091120190816
79201608488 8 026081 912 864ref2gcc2019091120190816
79201608488 8 026081 912 864ref2gcc_-funroll-loops2019091120190816
79224808488 8 026081 912 864ref2cc2019091120190816

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