Implementation notes: aarch64, supercoplxc, crypto_aead/pi32cipher256v2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi32cipher256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16760016487 8 030857 928 880goptvgcc_-O3_-fomit-frame-pointer2019091120190816
16768017291 8 033009 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
17584017603 8 033289 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
17920017111 8 032256 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
18752018043 8 033264 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
18976016687 8 031033 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
19840014363 8 027472 920 864goptvgcc_-O2_-fomit-frame-pointer2019091120190816
22184014971 8 028016 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
25232018751 8 035064 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
25232018751 8 035064 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
26792015755 8 028848 920 864goptvgcc_-O_-fomit-frame-pointer2019091120190816
26792015755 8 028848 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
2986408451 8 023356 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
3012005863 8 020772 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
3362408531 8 023372 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3363208827 8 023724 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3364008827 8 023724 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3364808827 8 023724 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3383206247 8 021092 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3383206247 8 021140 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3384006247 8 021140 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3384006247 8 021140 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
4744007495 8 021809 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
4939208103 8 023761 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
4945608031 8 023721 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
4972807451 8 021801 928 880ref3gcc_-O3_-fomit-frame-pointer2019091120190816
5583208367 8 023568 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
5628807779 8 022888 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
5748807703 8 019926 904 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
5760807703 8 019926 904 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
5826405523 8 018520 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
5908805503 8 018576 920 864ref3gcc_-O2_-fomit-frame-pointer2019091120190816
5943207383 8 019542 904 856goptvgcc_-Os_-fomit-frame-pointer2019091120190816
5963207383 8 019542 904 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6209604363 8 016478 904 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6210404363 8 016478 904 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
6332804339 8 016390 904 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6339204339 8 016390 904 856ref3gcc_-Os_-fomit-frame-pointer2019091120190816
8062407027 8 023312 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
8062407027 8 023312 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
8153604747 8 017808 920 864ref3gcc_-O_-fomit-frame-pointer2019091120190816
8154404747 8 017808 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
14875207679 8 022816 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
16092008191 8 023424 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
16652008427 8 022777 928 880ref2gcc_-O3_-fomit-frame-pointer2019091120190816
16812009187 8 024881 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
16984009295 8 024953 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
18034408471 8 022801 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
20352808059 8 024352 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
20353608059 8 024352 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
208120012848 8 030537 912 864goptvgcc2019091120190816
208120012848 8 030537 912 864goptvgcc_-funroll-loops2019091120190816
208128012848 8 030537 912 864goptvcc2019091120190816
22166405419 8 018520 920 864ref2gcc_-O2_-fomit-frame-pointer2019091120190816
26122404815 8 016934 904 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
26137604815 8 016934 904 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
26957605499 8 018536 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
28287204779 8 016846 904 856ref2gcc_-Os_-fomit-frame-pointer2019091120190816
28310404779 8 016846 904 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
32844805311 8 018392 920 864ref2gcc_-O_-fomit-frame-pointer2019091120190816
32892805311 8 018392 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
72126407828 8 025417 912 864ref3gcc2019091120190816
72137607828 8 025417 912 864ref3gcc_-funroll-loops2019091120190816
72140807828 8 025417 912 864ref3cc2019091120190816
150350408068 8 025673 912 864ref2cc2019091120190816
150364808068 8 025673 912 864ref2gcc2019091120190816
150375208068 8 025673 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