Implementation notes: aarch64, pi3bplus, crypto_encrypt/ntruees439ep1

Computer: pi3bplus
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20200702
Operation: crypto_encrypt
Primitive: ntruees439ep1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
38179658694 864 6479681 1784 1656refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052120200417
69881038970 864 6458713 1768 1640refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052120200417
72230439590 864 6459313 1768 1640refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052120200417
83683634001 864 6452713 1752 1624refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052120200417

Compiler output

Implementation: crypto_encrypt/ntruees439ep1/ref
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:87:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:87:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:88:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: B += RL(C, 5) + K00_19 + (D & (E ^ A) ^ A) + data[ 3]; D = RL(D, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:88:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Namespace violations

Implementation: crypto_encrypt/ntruees439ep1/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ebats.o copyrightclaims T
ebats.o patentclaims T
ebats.o randombytesfn T
ebats.o shortciphertext T
ebats.o shortplaintext T
ntru_crypto_drbg.o ntru_crypto_drbg_generate T
ntru_crypto_drbg.o ntru_crypto_drbg_instantiate T
ntru_crypto_drbg.o ntru_crypto_drbg_reseed T
ntru_crypto_drbg.o ntru_crypto_drbg_uninstantiate T
ntru_crypto_drbg.o ntru_crypto_external_drbg_instantiate T
ntru_crypto_hash.o ntru_crypto_hash_block_length T
ntru_crypto_hash.o ntru_crypto_hash_digest T
ntru_crypto_hash.o ntru_crypto_hash_digest_length T
ntru_crypto_hash.o ntru_crypto_hash_final T
ntru_crypto_hash.o ntru_crypto_hash_final_zero_pad T
ntru_crypto_hash.o ntru_crypto_hash_init T
ntru_crypto_hash.o ntru_crypto_hash_set_alg T
ntru_crypto_hash.o ntru_crypto_hash_update T
ntru_crypto_hmac.o ntru_crypto_hmac_create_ctx T
ntru_crypto_hmac.o ntru_crypto_hmac_destroy_ctx T
ntru_crypto_hmac.o ntru_crypto_hmac_final T
ntru_crypto_hmac.o ntru_crypto_hmac_get_md_len T
ntru_crypto_hmac.o ntru_crypto_hmac_init T
ntru_crypto_hmac.o ntru_crypto_hmac_set_key T
ntru_crypto_hmac.o ntru_crypto_hmac_update T
ntru_crypto_msbyte_uint32.o ntru_crypto_msbyte_2_uint32 T
ntru_crypto_msbyte_uint32.o ntru_crypto_uint32_2_msbyte T
ntru_crypto_ntru_convert.o ntru_bits_2_trits T
ntru_crypto_ntru_convert.o ntru_coeffs_mod4_2_octets T
ntru_crypto_ntru_convert.o ntru_elements_2_octets T
ntru_crypto_ntru_convert.o ntru_indices_2_packed_trits T
ntru_crypto_ntru_convert.o ntru_indices_2_trits T
ntru_crypto_ntru_convert.o ntru_octet_2_trits T
ntru_crypto_ntru_convert.o ntru_octets_2_elements T
ntru_crypto_ntru_convert.o ntru_packed_trits_2_indices T
ntru_crypto_ntru_convert.o ntru_trits_2_bits T
ntru_crypto_ntru_convert.o ntru_trits_2_octet T
ntru_crypto_ntru_encrypt.o ntru_crypto_ntru_decrypt T
ntru_crypto_ntru_encrypt.o ntru_crypto_ntru_encrypt T
ntru_crypto_ntru_encrypt.o ntru_crypto_ntru_encrypt_keygen T
ntru_crypto_ntru_encrypt.o ntru_crypto_ntru_encrypt_publicKey2SubjectPublicKeyInfo T
ntru_crypto_ntru_encrypt.o ntru_crypto_ntru_encrypt_subjectPublicKeyInfo2PublicKey T
ntru_crypto_ntru_encrypt_key.o ntru_crypto_ntru_encrypt_key_create_privkey_blob T
ntru_crypto_ntru_encrypt_key.o ntru_crypto_ntru_encrypt_key_create_pubkey_blob T
ntru_crypto_ntru_encrypt_key.o ntru_crypto_ntru_encrypt_key_get_blob_params T
ntru_crypto_ntru_encrypt_key.o ntru_crypto_ntru_encrypt_key_parse T
ntru_crypto_ntru_encrypt_key.o ntru_crypto_ntru_encrypt_key_recreate_pubkey_blob T
ntru_crypto_ntru_encrypt_param_sets.o ntru_encrypt_get_param_set_name T
ntru_crypto_ntru_encrypt_param_sets.o ntru_encrypt_get_params_with_DER_id T
ntru_crypto_ntru_encrypt_param_sets.o ntru_encrypt_get_params_with_OID T
ntru_crypto_ntru_encrypt_param_sets.o ntru_encrypt_get_params_with_id T
ntru_crypto_ntru_mgf1.o ntru_mgf1 T
ntru_crypto_ntru_mgf1.o ntru_mgftp1 T
ntru_crypto_ntru_poly.o ntru_gen_poly T
ntru_crypto_ntru_poly.o ntru_poly_check_min_weight T
ntru_crypto_ntru_poly.o ntru_ring_inv T
ntru_crypto_ntru_poly.o ntru_ring_mult_coefficients T
ntru_crypto_ntru_poly.o ntru_ring_mult_indices T
ntru_crypto_ntru_poly.o ntru_ring_mult_indices_orig T
ntru_crypto_ntru_poly.o ntru_ring_mult_product_indices T
ntru_crypto_sha1.o ntru_crypto_sha1 T
ntru_crypto_sha1.o ntru_crypto_sha1_digest T
ntru_crypto_sha1.o ntru_crypto_sha1_final T
ntru_crypto_sha1.o ntru_crypto_sha1_final_zero_pad T
ntru_crypto_sha1.o ntru_crypto_sha1_init T
ntru_crypto_sha1.o ntru_crypto_sha1_update T
ntru_crypto_sha2.o ntru_crypto_sha2 T
ntru_crypto_sha256.o ntru_crypto_sha256_digest T
ntru_crypto_sha256.o ntru_crypto_sha256_final T
ntru_crypto_sha256.o ntru_crypto_sha256_final_zero_pad T
ntru_crypto_sha256.o ntru_crypto_sha256_init T
ntru_crypto_sha256.o ntru_crypto_sha256_update T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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