Implementation notes: aarch64, jetsontx1, crypto_aead/pi16cipher128v2

Computer: jetsontx1
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: pi16cipher128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
18709716399 8 028567 824 864goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
21870314803 8 025714 816 848goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
24386215539 8 026394 816 848goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
4080765551 8 018281 768 856ref3clang_-mcpu=native_-march=armv8a+crypto_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
4119157027 8 016950 800 840goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
4198537515 8 021631 816 856ref3armclang_-march=armv8a+crypto_-mcpu=cortex-a57_-mtune=cortex-a57_-O3_-fPIC_-fPIE2019101720190910
4216699259 8 023351 816 856ref2armclang_-march=armv8a+crypto_-mcpu=cortex-a57_-mtune=cortex-a57_-O3_-fPIC_-fPIE2019101720190910
4246577883 8 020617 768 856ref2clang_-mcpu=native_-march=armv8a+crypto_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
5468127395 8 018617 768 840ref2clang_-mcpu=native_-march=armv8a+crypto_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
5473047395 8 018617 768 840ref2clang_-mcpu=native_-march=armv8a+crypto_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
5592695867 8 017097 768 840ref3clang_-mcpu=native_-march=armv8a+crypto_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
5593115867 8 017097 768 840ref3clang_-mcpu=native_-march=armv8a+crypto_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
5828968459 8 021087 816 840ref2armclang_-march=armv8a+crypto_-mcpu=cortex-a57_-mtune=cortex-a57_-O2_-fPIC_-fPIE2019101720190910
6028447051 8 019687 816 840ref3armclang_-march=armv8a+crypto_-mcpu=cortex-a57_-mtune=cortex-a57_-O2_-fPIC_-fPIE2019101720190910
6853147863 8 019991 824 864ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
7158534439 8 013791 760 840ref3clang_-mcpu=native_-march=armv8a+crypto_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
7513415443 8 016322 816 848ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
7684119515 8 021655 824 864ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
8448684403 8 014238 800 840ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
9192974759 8 015602 816 848ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
25466115407 8 016306 816 848ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
28132815091 8 015938 816 848ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
28642784707 8 014558 800 840ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
41734574771 8 014127 760 840ref2clang_-mcpu=native_-march=armv8a+crypto_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910

Test failure

Implementation: optimized_nonSSE
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
error 111
crypto_aead_encrypt returns more than crypto_aead_ABYTES extra bytes

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE optimized_nonSSE
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE optimized_nonSSE
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized_nonSSE
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized_nonSSE
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized_nonSSE
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized_nonSSE
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized_nonSSE
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized_nonSSE
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized_nonSSE
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized_nonSSE
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE ref
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref

Compiler output

Implementation: goptv
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
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: 6, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE goptv
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE goptv
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goptv
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goptv
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goptv
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goptv

Namespace violations

Implementation: goptv
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
pi-cipher.o PI_DECRYPT_BLOCK_Q T
pi-cipher.o pi16_decrypt_block T
pi-cipher.o pi16_decrypt_last_block T
pi-cipher.o pi16_decrypt_simple T
pi-cipher.o pi16_decrypt_smn T
pi-cipher.o pi16_encrypt_block T
pi-cipher.o pi16_encrypt_block_q T
pi-cipher.o pi16_encrypt_last_block T
pi-cipher.o pi16_encrypt_simple T
pi-cipher.o pi16_encrypt_smn T
pi-cipher.o pi16_extract_tag T
pi-cipher.o pi16_init T
pi-cipher.o pi16_process_ad_block T
pi-cipher.o pi16_process_ad_block_q T
pi-cipher.o pi16_process_ad_last_block T
pi-cipher.o pi_cipher_name D

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE goptv
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE goptv
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE goptv
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE goptv

Namespace violations

Implementation: ref2
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
pi-cipher.o pi16_decrypt_block T
pi-cipher.o pi16_decrypt_last_block T
pi-cipher.o pi16_decrypt_simple T
pi-cipher.o pi16_decrypt_smn T
pi-cipher.o pi16_encrypt_block T
pi-cipher.o pi16_encrypt_last_block T
pi-cipher.o pi16_encrypt_simple T
pi-cipher.o pi16_extract_tag T
pi-cipher.o pi16_init T
pi-cipher.o pi16_process_ad_block T
pi-cipher.o pi16_process_ad_last_block T
pi-cipher.o pi16_process_smn T
pi-cipher.o pi_cipher_name D

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE ref2
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE ref2
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref2
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref2
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref2
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref2

Namespace violations

Implementation: ref3
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
pi-cipher.o pi16_decrypt_block T
pi-cipher.o pi16_decrypt_last_block T
pi-cipher.o pi16_decrypt_simple T
pi-cipher.o pi16_decrypt_smn T
pi-cipher.o pi16_encrypt_block T
pi-cipher.o pi16_encrypt_last_block T
pi-cipher.o pi16_encrypt_simple T
pi-cipher.o pi16_encrypt_smn T
pi-cipher.o pi16_extract_tag T
pi-cipher.o pi16_init T
pi-cipher.o pi16_process_ad_block T
pi-cipher.o pi16_process_ad_last_block T
pi-cipher.o pi_cipher_name D

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE ref3
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE ref3
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref3
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref3
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref3
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref3
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref3