Implementation notes: amd64, devoptimis, crypto_kem/rolloiii128

Computer: devoptimis
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: rolloiii128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
111407423974 0 440603 896 1720avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019100320190910
159628831676 0 450443 896 1720avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019100320190910
169342722981 0 439291 896 1720avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019100320190910
192250420589 0 436011 888 3736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019100320190910
201432333660 0 452427 896 3768refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019100320190910
233324024510 0 441123 896 3768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019100320190910
264992623525 0 439835 896 3768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019100320190910

Test failure

Implementation: avx
Security model: unknown
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx

Namespace violations

Implementation: avx
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ffi_elt.o ffi_elt_add T
ffi_elt.o ffi_elt_from_uint64 T
ffi_elt.o ffi_elt_get_coefficient T
ffi_elt.o ffi_elt_get_degree T
ffi_elt.o ffi_elt_inv T
ffi_elt.o ffi_elt_is_equal_to T
ffi_elt.o ffi_elt_is_greater_than T
ffi_elt.o ffi_elt_is_zero T
ffi_elt.o ffi_elt_mul T
ffi_elt.o ffi_elt_nth_root T
ffi_elt.o ffi_elt_print T
ffi_elt.o ffi_elt_reduce T
ffi_elt.o ffi_elt_set T
ffi_elt.o ffi_elt_set_coefficient T
ffi_elt.o ffi_elt_set_one T
ffi_elt.o ffi_elt_set_random T
ffi_elt.o ffi_elt_set_random2 T
ffi_elt.o ffi_elt_set_zero T
ffi_elt.o ffi_elt_sqr T
ffi_elt.o ffi_elt_to_uint64 T
ffi_elt.o ffi_elt_ur_from_uint64 T
ffi_elt.o ffi_elt_ur_mul T
ffi_elt.o ffi_elt_ur_print T
ffi_elt.o ffi_elt_ur_set_random T
ffi_elt.o ffi_elt_ur_set_zero T
ffi_elt.o ffi_elt_ur_sqr T
ffi_poly.o ffi_poly_add T
ffi_poly.o ffi_poly_clear T
ffi_poly.o ffi_poly_div T
ffi_poly.o ffi_poly_from_string T
ffi_poly.o ffi_poly_from_string_compact T
ffi_poly.o ffi_poly_init T
ffi_poly.o ffi_poly_inv T
ffi_poly.o ffi_poly_is_equal_to T
ffi_poly.o ffi_poly_mul T
ffi_poly.o ffi_poly_mulmod T
ffi_poly.o ffi_poly_mulmod_sparse T
ffi_poly.o ffi_poly_print T
ffi_poly.o ffi_poly_resize T
ffi_poly.o ffi_poly_set T
ffi_poly.o ffi_poly_set_random T
ffi_poly.o ffi_poly_set_random2 T
ffi_poly.o ffi_poly_set_random_from_support T
ffi_poly.o ffi_poly_set_random_from_support2 T
ffi_poly.o ffi_poly_set_random_full_rank T
ffi_poly.o ffi_poly_set_random_full_rank_with_one T
ffi_poly.o ffi_poly_set_zero T
ffi_poly.o ffi_poly_sparse_clear T
ffi_poly.o ffi_poly_sparse_init T
ffi_poly.o ffi_poly_sparse_print T
ffi_poly.o ffi_poly_to_string T
ffi_poly.o ffi_poly_to_string_compact T
ffi_poly.o ffi_poly_update_degree T
ffi_poly.o kar_fold T
ffi_poly.o kar_mul T
ffi_poly.o plain_mul T
ffi_qre.o QRE_DEG C
ffi_qre.o ffi_qre_add T
ffi_qre.o ffi_qre_clear T
ffi_qre.o ffi_qre_clear_modulus T
ffi_qre.o ffi_qre_div T
ffi_qre.o ffi_qre_from_string T
ffi_qre.o ffi_qre_from_string_compact T
ffi_qre.o ffi_qre_get_modulus T
ffi_qre.o ffi_qre_init T
ffi_qre.o ffi_qre_init_modulus T
ffi_qre.o ffi_qre_inv T
ffi_qre.o ffi_qre_is_equal_to T
ffi_qre.o ffi_qre_mul T
ffi_qre.o ffi_qre_print T
ffi_qre.o ffi_qre_set_random T
ffi_qre.o ffi_qre_set_random2 T
ffi_qre.o ffi_qre_set_random_from_support T
ffi_qre.o ffi_qre_set_random_from_support2 T
ffi_qre.o ffi_qre_set_random_full_rank T
ffi_qre.o ffi_qre_set_random_full_rank_with_one T
ffi_qre.o ffi_qre_set_zero T
ffi_qre.o ffi_qre_to_string T
ffi_qre.o ffi_qre_to_string_compact T
ffi_qre.o modulus C
ffi_qre.o modulusInv C
ffi_vec.o ffi_vec_add T
ffi_vec.o ffi_vec_clear T
ffi_vec.o ffi_vec_echelonize T
ffi_vec.o ffi_vec_from_string T
ffi_vec.o ffi_vec_from_string_compact T
ffi_vec.o ffi_vec_gauss T
ffi_vec.o ffi_vec_get_rank T
ffi_vec.o ffi_vec_init T
ffi_vec.o ffi_vec_print T
ffi_vec.o ffi_vec_scalar_mul T
ffi_vec.o ffi_vec_set T
ffi_vec.o ffi_vec_set_random T
ffi_vec.o ffi_vec_set_random2 T
ffi_vec.o ffi_vec_set_random_from_support T
ffi_vec.o ffi_vec_set_random_from_support2 T
ffi_vec.o ffi_vec_set_random_full_rank T
ffi_vec.o ffi_vec_set_random_full_rank2 T
ffi_vec.o ffi_vec_set_random_full_rank_with_one T
ffi_vec.o ffi_vec_set_zero T
ffi_vec.o ffi_vec_to_string T
ffi_vec.o ffi_vec_to_string_compact T
ffi_vspace.o ffi_vspace_clear T
ffi_vspace.o ffi_vspace_directsum T
ffi_vspace.o ffi_vspace_init T
ffi_vspace.o ffi_vspace_intersection T
ffi_vspace.o ffi_vspace_print T
ffi_vspace.o ffi_vspace_product T
ffi_vspace.o ffi_vspace_set T
ffi_vspace.o ffi_vspace_set_random_full_rank T
ffi_vspace.o ffi_vspace_set_random_full_rank2 T
ffi_vspace.o ffi_vspace_set_random_full_rank_with_one T
ffi_vspace.o ffi_vspace_set_zero T
kem.o QRE_DEG C
kem.o modulus C
kem.o modulusInv C
parsing.o QRE_DEG C
parsing.o modulus C
parsing.o modulusInv C
parsing.o rolloIII_ciphertext_from_string T
parsing.o rolloIII_ciphertext_to_string T
parsing.o rolloIII_public_key_from_string T
parsing.o rolloIII_public_key_to_string T
parsing.o rolloIII_secret_key_from_string T
parsing.o rolloIII_secret_key_to_string T
rng.o AES256_ECB T
rng.o DRBG_ctx C
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T
rsr_algorithm.o rank_support_recoverer T

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ffi_elt.o SQR_LOOKUP_TABLE C
ffi_elt.o ffi_elt_add T
ffi_elt.o ffi_elt_from_uint64 T
ffi_elt.o ffi_elt_get_coefficient T
ffi_elt.o ffi_elt_get_degree T
ffi_elt.o ffi_elt_inv T
ffi_elt.o ffi_elt_is_equal_to T
ffi_elt.o ffi_elt_is_greater_than T
ffi_elt.o ffi_elt_is_zero T
ffi_elt.o ffi_elt_mul T
ffi_elt.o ffi_elt_nth_root T
ffi_elt.o ffi_elt_print T
ffi_elt.o ffi_elt_reduce T
ffi_elt.o ffi_elt_set T
ffi_elt.o ffi_elt_set_coefficient T
ffi_elt.o ffi_elt_set_one T
ffi_elt.o ffi_elt_set_random T
ffi_elt.o ffi_elt_set_random2 T
ffi_elt.o ffi_elt_set_zero T
ffi_elt.o ffi_elt_sqr T
ffi_elt.o ffi_elt_to_uint64 T
ffi_elt.o ffi_elt_ur_from_uint64 T
ffi_elt.o ffi_elt_ur_mul T
ffi_elt.o ffi_elt_ur_print T
ffi_elt.o ffi_elt_ur_set_random T
ffi_elt.o ffi_elt_ur_set_zero T
ffi_elt.o ffi_elt_ur_sqr T
ffi_elt.o ffi_field_init T
ffi_poly.o SQR_LOOKUP_TABLE C
ffi_poly.o ffi_poly_add T
ffi_poly.o ffi_poly_clear T
ffi_poly.o ffi_poly_div T
ffi_poly.o ffi_poly_from_string T
ffi_poly.o ffi_poly_from_string_compact T
ffi_poly.o ffi_poly_init T
ffi_poly.o ffi_poly_inv T
ffi_poly.o ffi_poly_is_equal_to T
ffi_poly.o ffi_poly_mul T
ffi_poly.o ffi_poly_mulmod T
ffi_poly.o ffi_poly_mulmod_sparse T
ffi_poly.o ffi_poly_print T
ffi_poly.o ffi_poly_resize T
ffi_poly.o ffi_poly_set T
ffi_poly.o ffi_poly_set_random T
ffi_poly.o ffi_poly_set_random2 T
ffi_poly.o ffi_poly_set_random_from_support T
ffi_poly.o ffi_poly_set_random_from_support2 T
ffi_poly.o ffi_poly_set_random_full_rank T
ffi_poly.o ffi_poly_set_random_full_rank_with_one T
ffi_poly.o ffi_poly_set_zero T
ffi_poly.o ffi_poly_sparse_clear T
ffi_poly.o ffi_poly_sparse_init T
ffi_poly.o ffi_poly_sparse_print T
ffi_poly.o ffi_poly_to_string T
ffi_poly.o ffi_poly_to_string_compact T
ffi_poly.o ffi_poly_update_degree T
ffi_poly.o kar_fold T
ffi_poly.o kar_mul T
ffi_poly.o plain_mul T
ffi_qre.o QRE_DEG C
ffi_qre.o SQR_LOOKUP_TABLE C
ffi_qre.o ffi_qre_add T
ffi_qre.o ffi_qre_clear T
ffi_qre.o ffi_qre_clear_modulus T
ffi_qre.o ffi_qre_div T
ffi_qre.o ffi_qre_from_string T
ffi_qre.o ffi_qre_from_string_compact T
ffi_qre.o ffi_qre_get_modulus T
ffi_qre.o ffi_qre_init T
ffi_qre.o ffi_qre_init_modulus T
ffi_qre.o ffi_qre_inv T
ffi_qre.o ffi_qre_is_equal_to T
ffi_qre.o ffi_qre_mul T
ffi_qre.o ffi_qre_print T
ffi_qre.o ffi_qre_set_random T
ffi_qre.o ffi_qre_set_random2 T
ffi_qre.o ffi_qre_set_random_from_support T
ffi_qre.o ffi_qre_set_random_from_support2 T
ffi_qre.o ffi_qre_set_random_full_rank T
ffi_qre.o ffi_qre_set_random_full_rank_with_one T
ffi_qre.o ffi_qre_set_zero T
ffi_qre.o ffi_qre_to_string T
ffi_qre.o ffi_qre_to_string_compact T
ffi_qre.o modulus C
ffi_qre.o modulusInv C
ffi_vec.o SQR_LOOKUP_TABLE C
ffi_vec.o ffi_vec_add T
ffi_vec.o ffi_vec_clear T
ffi_vec.o ffi_vec_echelonize T
ffi_vec.o ffi_vec_from_string T
ffi_vec.o ffi_vec_from_string_compact T
ffi_vec.o ffi_vec_gauss T
ffi_vec.o ffi_vec_get_rank T
ffi_vec.o ffi_vec_init T
ffi_vec.o ffi_vec_print T
ffi_vec.o ffi_vec_scalar_mul T
ffi_vec.o ffi_vec_set T
ffi_vec.o ffi_vec_set_random T
ffi_vec.o ffi_vec_set_random2 T
ffi_vec.o ffi_vec_set_random_from_support T
ffi_vec.o ffi_vec_set_random_from_support2 T
ffi_vec.o ffi_vec_set_random_full_rank T
ffi_vec.o ffi_vec_set_random_full_rank2 T
ffi_vec.o ffi_vec_set_random_full_rank_with_one T
ffi_vec.o ffi_vec_set_zero T
ffi_vec.o ffi_vec_to_string T
ffi_vec.o ffi_vec_to_string_compact T
ffi_vspace.o SQR_LOOKUP_TABLE C
ffi_vspace.o ffi_vspace_clear T
ffi_vspace.o ffi_vspace_directsum T
ffi_vspace.o ffi_vspace_init T
ffi_vspace.o ffi_vspace_intersection T
ffi_vspace.o ffi_vspace_print T
ffi_vspace.o ffi_vspace_product T
ffi_vspace.o ffi_vspace_set T
ffi_vspace.o ffi_vspace_set_random_full_rank T
ffi_vspace.o ffi_vspace_set_random_full_rank2 T
ffi_vspace.o ffi_vspace_set_random_full_rank_with_one T
ffi_vspace.o ffi_vspace_set_zero T
kem.o QRE_DEG C
kem.o SQR_LOOKUP_TABLE C
kem.o modulus C
kem.o modulusInv C
parsing.o QRE_DEG C
parsing.o SQR_LOOKUP_TABLE C
parsing.o modulus C
parsing.o modulusInv C
parsing.o rolloIII_ciphertext_from_string T
parsing.o rolloIII_ciphertext_to_string T
parsing.o rolloIII_public_key_from_string T
parsing.o rolloIII_public_key_to_string T
parsing.o rolloIII_secret_key_from_string T
parsing.o rolloIII_secret_key_to_string T
rng.o AES256_ECB T
rng.o DRBG_ctx C
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T
rsr_algorithm.o SQR_LOOKUP_TABLE C
rsr_algorithm.o rank_support_recoverer 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