Implementation notes: aarch64, supercoplxc, crypto_aead/pi16cipher096v2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi16cipher096v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
20744017719 8 033273 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091020190816
21000016987 8 031201 928 880goptvgcc_-O3_-fomit-frame-pointer2019091020190816
21864018011 8 033000 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091020190816
22184017855 8 033377 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
23240017915 8 032976 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
26208017087 8 031289 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
26720014691 8 027640 920 864goptvgcc_-O2_-fomit-frame-pointer2019091020190816
32072014635 8 027512 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
38176018643 8 034912 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091020190816
38176018643 8 034912 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
42368015503 8 028552 920 864goptvgcc_-O_-fomit-frame-pointer2019091020190816
42368015503 8 028552 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
7315206491 8 021412 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
7738406515 8 021364 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091020190816
7738406515 8 021420 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091020190816
7738406515 8 021420 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091020190816
7738406515 8 021420 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091020190816
7910408263 8 023172 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
8440807347 8 019566 904 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091020190816
8442407347 8 019566 904 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
8469608395 8 023300 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091020190816
8472808395 8 023300 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091020190816
8475208147 8 022996 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091020190816
8479208395 8 023300 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091020190816
8838407011 8 019166 904 856goptvgcc_-Os_-fomit-frame-pointer2019091020190816
8844007011 8 019166 904 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
11238408291 8 023817 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091020190816
11244808447 8 023945 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
11255207755 8 021937 928 880ref3gcc_-O3_-fomit-frame-pointer2019091020190816
11305607887 8 022057 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
12578408275 8 023304 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
12600808171 8 023128 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091020190816
12890405391 8 018304 920 864ref3gcc_-O2_-fomit-frame-pointer2019091020190816
12996005419 8 018264 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
13860804375 8 016486 904 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
13861604375 8 016486 904 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091020190816
13897604375 8 016430 904 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
13899204375 8 016430 904 856ref3gcc_-Os_-fomit-frame-pointer2019091020190816
18548807027 8 023280 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091020190816
18614407027 8 023280 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
18823204723 8 017744 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
18892804723 8 017744 920 864ref3gcc_-O_-fomit-frame-pointer2019091020190816
310352010755 8 024937 928 880ref2gcc_-O3_-fomit-frame-pointer2019091020190816
318304010783 8 026305 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091020190816
321400010871 8 026369 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
340888010831 8 025001 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
36569608095 8 023080 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091020190816
36720008155 8 023224 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
367480012608 8 030281 912 864goptvgcc_-funroll-loops2019091020190816
367488012608 8 030281 912 864goptvgcc2019091020190816
367496012608 8 030281 912 864goptvcc2019091020190816
46555205275 8 018224 920 864ref2gcc_-O2_-fomit-frame-pointer2019091020190816
46864007795 8 024056 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
46874407795 8 024056 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091020190816
53725604663 8 016782 904 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
53788004663 8 016782 904 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091020190816
56335205327 8 018208 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
59052804627 8 016694 904 856ref2gcc_-Os_-fomit-frame-pointer2019091020190816
59116804627 8 016694 904 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
68728005047 8 018080 920 864ref2gcc_-O_-fomit-frame-pointer2019091020190816
68741605047 8 018080 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
165937607968 8 025553 912 864ref3gcc_-funroll-loops2019091020190816
165952807968 8 025553 912 864ref3gcc2019091020190816
165964807968 8 025553 912 864ref3cc2019091020190816
316777607980 8 025585 912 864ref2gcc2019091020190816
316824807980 8 025585 912 864ref2gcc_-funroll-loops2019091020190816
316864007980 8 025585 912 864ref2cc2019091020190816

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:286:6: error: cannot convert between scalar type 'int' and vector type 'vchunk_t' (vector of 4 'word_t' values) as implicit conversion would cause truncation
pi-cipher.c: n_t += __builtin_shuffle(y, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:287:6: error: cannot convert between scalar type 'int' and vector type 'vchunk_t' (vector of 4 'word_t' values) as implicit conversion would cause truncation
pi-cipher.c: n_t += __builtin_shuffle(y, n_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:290:6: error: cannot convert between scalar type 'int' and vector type 'vchunk_t' (vector of 4 'word_t' values) as implicit conversion would cause truncation
pi-cipher.c: n_t ^= __builtin_shuffle(n_t, n_x_1) ^ __builtin_shuffle(n_t, n_x_2);
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:305:6: error: cannot convert between scalar type 'int' and vector type 'vchunk_t' (vector of 4 'word_t' values) as implicit conversion would cause truncation
pi-cipher.c: m_t += __builtin_shuffle(x, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:306:6: error: cannot convert between scalar type 'int' and vector type 'vchunk_t' (vector of 4 'word_t' values) as implicit conversion would cause truncation
pi-cipher.c: m_t += __builtin_shuffle(x, m_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:309:6: error: cannot convert between scalar type 'int' and vector type 'vchunk_t' (vector of 4 'word_t' values) as implicit conversion would cause truncation
pi-cipher.c: m_t ^= __builtin_shuffle(m_t, m_x_1) ^ __builtin_shuffle(m_t, m_x_2);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:354:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: ...

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