Implementation notes: aarch64, rockpi4, crypto_aead/pi16cipher096v2

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi16cipher096v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
18543717915 8 033494 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
19121916755 8 031575 928 880goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
19493617719 8 033799 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
20030518011 8 033518 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
20071816987 8 031719 928 880goptvgcc_-O3_-fomit-frame-pointer2019091320190816
20650017855 8 033895 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
21021714795 8 028366 920 864goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
21269514691 8 028158 920 864goptvgcc_-O2_-fomit-frame-pointer2019091320190816
21476017087 8 031807 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
21971618643 8 035430 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
21971618643 8 035430 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
22591114635 8 028030 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
23334515503 8 029070 920 864goptvgcc_-O_-fomit-frame-pointer2019091320190816
23375815503 8 029070 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
33824715539 8 029102 920 864goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
3956547347 8 020094 904 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
3956547347 8 020094 904 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
3977197011 8 019694 904 856goptvgcc_-Os_-fomit-frame-pointer2019091320190816
4084577011 8 019694 904 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
4084577027 8 019710 904 856goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
4443888263 8 023700 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
4563656515 8 021940 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4563656515 8 021940 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4728858395 8 023828 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4732988395 8 023828 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4737118395 8 023828 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
5831566491 8 021940 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
6166096515 8 021892 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
6166096515 8 021940 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
6773208147 8 023524 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
7074697887 8 022583 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
7161428291 8 024335 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
7272937755 8 022455 928 880ref3gcc_-O3_-fomit-frame-pointer2019091320190816
7681805463 8 018990 920 864ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
7710718171 8 023646 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
7731365391 8 018830 920 864ref3gcc_-O2_-fomit-frame-pointer2019091320190816
7842878275 8 023830 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
7851135419 8 018782 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
8024594395 8 016974 904 856ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
8049374375 8 017014 904 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
8049374375 8 017014 904 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
8198054375 8 016958 904 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
8202184375 8 016958 904 856ref3gcc_-Os_-fomit-frame-pointer2019091320190816
8957974759 8 018310 920 864ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
8966238447 8 024471 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
8978627027 8 023798 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
8982757027 8 023798 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
8995144723 8 018262 920 864ref3gcc_-O_-fomit-frame-pointer2019091320190816
9061227883 8 022671 928 880ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
115805212608 8 030799 912 864goptvcc2019091320190816
14996034723 8 018262 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
174781610423 8 025207 928 880ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
178250810755 8 025463 928 880ref2gcc_-O3_-fomit-frame-pointer2019091320190816
178539910783 8 026831 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
19621638155 8 023750 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
19757927795 8 024582 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
19790968095 8 023598 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
23987045387 8 018958 920 864ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
24082035275 8 018750 920 864ref2gcc_-O2_-fomit-frame-pointer2019091320190816
256844710871 8 026895 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
26196594663 8 017246 904 856ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
26303974627 8 017214 904 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
271671410831 8 025527 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
27324085091 8 018646 920 864ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
27464505047 8 018598 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
293684312608 8 030799 912 864goptvgcc2019091320190816
293725612608 8 030799 912 864goptvgcc_-funroll-loops2019091320190816
37669737795 8 024582 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
42832234663 8 017302 904 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
43080034663 8 017302 904 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
45120255327 8 018734 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
47053094627 8 017214 904 856ref2gcc_-Os_-fomit-frame-pointer2019091320190816
54995085047 8 018598 920 864ref2gcc_-O_-fomit-frame-pointer2019091320190816
57997597968 8 026071 912 864ref3gcc_-funroll-loops2019091320190816
58117367968 8 026071 912 864ref3cc2019091320190816
119299187980 8 026111 912 864ref2gcc2019091320190816
119328097980 8 026111 912 864ref2gcc_-funroll-loops2019091320190816
133006657968 8 026071 912 864ref3gcc2019091320190816
252578417980 8 026111 912 864ref2cc2019091320190816

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: 56, 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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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