Implementation notes: aarch64, rockpi4, crypto_aead/pi16cipher128v2

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi16cipher128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
17469918011 8 033518 920 864goptvgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
19121916755 8 031575 928 880goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
19493617719 8 033783 928 880goptvgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
20113116987 8 031719 928 880goptvgcc_-O3_-fomit-frame-pointer2019091320190816
20650017855 8 033895 928 880goptvgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
20897817087 8 031791 928 880goptvgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
21021714691 8 028158 920 864goptvgcc_-O2_-fomit-frame-pointer2019091320190816
21063017915 8 033494 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
21269514795 8 028366 920 864goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
21971618643 8 035454 920 864goptvgcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
23293215503 8 029110 920 864goptvgcc_-O_-fomit-frame-pointer2019091320190816
23293215503 8 029110 920 864goptvgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
23375815539 8 029142 920 864goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
25564714635 8 028014 920 864goptvgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
30438118643 8 035454 920 864goptvgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
3981327011 8 019678 904 856goptvgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
3993717027 8 019694 904 856goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
4448018255 8 023684 808 888ref2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
4563656515 8 021940 808 888ref3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4563656515 8 021940 808 888ref3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4567786515 8 021940 808 888ref3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4732988143 8 023508 808 888ref2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4732988391 8 023812 808 888ref2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091320190816
4732988391 8 023812 808 888ref2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091320190816
5827436491 8 021924 808 888ref3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091320190816
6166096515 8 021876 808 888ref3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091320190816
6727777347 8 020078 904 856goptvgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
6727777347 8 020078 904 856goptvgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
6752558391 8 023812 808 888ref2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091320190816
7033397011 8 019678 904 856goptvgcc_-Os_-fomit-frame-pointer2019091320190816
7062307887 8 022567 928 880ref3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
7169688291 8 024335 928 880ref3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
7268807755 8 022455 928 880ref3gcc_-O3_-fomit-frame-pointer2019091320190816
7277068447 8 024455 928 880ref3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
7842878275 8 023814 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
7847005419 8 018766 920 864ref3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
8049374395 8 016974 904 856ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
8957974759 8 018334 920 864ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
8974497027 8 023822 920 864ref3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
8974497027 8 023822 920 864ref3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
8995144723 8 018302 920 864ref3gcc_-O_-fomit-frame-pointer2019091320190816
8999274723 8 018302 920 864ref3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
9065357883 8 022671 928 880ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
10048298171 8 023646 920 864ref3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
10271315463 8 018990 920 864ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
10275445391 8 018814 920 864ref3gcc_-O2_-fomit-frame-pointer2019091320190816
11051884375 8 016942 904 856ref3gcc_-Os_-fomit-frame-pointer2019091320190816
11051884375 8 016942 904 856ref3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
11072534375 8 016998 904 856ref3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
11072534375 8 016998 904 856ref3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
118572312608 8 030799 912 864goptvgcc_-funroll-loops2019091320190816
118985312608 8 030799 912 864goptvcc2019091320190816
119026612608 8 030799 912 864goptvgcc2019091320190816
174740310423 8 025207 928 880ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091320190816
174988110831 8 025511 928 880ref2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
181554810871 8 026879 928 880ref2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091320190816
19691847795 8 024606 920 864ref2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091320190816
19733147795 8 024606 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
24234845275 8 018734 920 864ref2gcc_-O2_-fomit-frame-pointer2019091320190816
24515685387 8 018958 920 864ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091320190816
247263110755 8 025447 928 880ref2gcc_-O3_-fomit-frame-pointer2019091320190816
25345815327 8 018718 920 864ref2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
26134644627 8 017214 904 856ref2gcc_-Os_-fomit-frame-pointer2019091320190816
26403094663 8 017246 904 856ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091320190816
265063410783 8 026815 928 880ref2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091320190816
26931735047 8 018638 920 864ref2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091320190816
27278654663 8 017302 904 856ref2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091320190816
27278654663 8 017302 904 856ref2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
27419075091 8 018686 920 864ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091320190816
29269318095 8 023598 920 864ref2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091320190816
29347788155 8 023734 920 864ref2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091320190816
47119174627 8 017214 904 856ref2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091320190816
54772065047 8 018638 920 864ref2gcc_-O_-fomit-frame-pointer2019091320190816
58480807968 8 026071 912 864ref3cc2019091320190816
58670787968 8 026071 912 864ref3gcc2019091320190816
119893907980 8 026095 912 864ref2cc2019091320190816
120393637980 8 026095 912 864ref2gcc2019091320190816
132453237968 8 026071 912 864ref3gcc_-funroll-loops2019091320190816
253573747980 8 026095 912 864ref2gcc_-funroll-loops2019091320190816

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