Implementation notes: amd64, firefly, crypto_kem/rolloi192

Computer: firefly
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: rolloi192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
137372130130 0 2459354 904 1632T:avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130
141406321636 0 2448546 904 1632T:avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130
176290419850 0 2445753 872 1568T:avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
183096122566 0 2449834 904 1632T:avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130
189763828074 0 2456577 888 1568T:avxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
194522525242 0 2452921 888 1568T:avxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
210420125242 0 2452921 888 1568T:avxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
212554519029 0 2444790 896 1600T:avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130
218467826090 0 2853809 888 3616T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
223116126090 0 2853809 888 3616T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
305828729310 0 2857377 888 3648T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
337014429426 0 2857985 888 3648T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
345103531522 0 2860770 904 3680T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130
370044722918 0 2850218 904 3680T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130
385526020077 0 2846001 872 3616T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121420201130
401835319511 0 2845302 896 3648T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130
1081377222149 0 2849034 904 3680T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121420201130

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rbc_elt.c: rbc_elt.c:466:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a0_b0 = _mm_clmulepi64_si128(a, b, 0x00);
rbc_elt.c: ^
rbc_elt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: rbc_elt.c:468:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a0_b1 = _mm_clmulepi64_si128(a, b, 0x10);
rbc_elt.c: ^
rbc_elt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: rbc_elt.c:469:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a1_b0 = _mm_clmulepi64_si128(a, b, 0x01);
rbc_elt.c: ^
rbc_elt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: rbc_elt.c:471:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a1_b1 = _mm_clmulepi64_si128(a, b, 0x11);
rbc_elt.c: ^
rbc_elt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: 4 errors generated.

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

Namespace violations

Implementation: T:avx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
lrpc.o rbc_lrpc_RSR T
lrpc.o rbc_lrpc_RSR_constant_time T
parsing.o rolloI_public_key_from_string T
parsing.o rolloI_public_key_to_string T
parsing.o rolloI_rolloI_ciphertext_from_string T
parsing.o rolloI_rolloI_ciphertext_to_string T
parsing.o rolloI_secret_key_from_string T
parsing.o rolloI_secret_key_to_string T
rbc_elt.o rbc_elt_add T
rbc_elt.o rbc_elt_get_coefficient T
rbc_elt.o rbc_elt_get_degree T
rbc_elt.o rbc_elt_inv T
rbc_elt.o rbc_elt_is_equal_to T
rbc_elt.o rbc_elt_is_greater_than T
rbc_elt.o rbc_elt_is_zero T
rbc_elt.o rbc_elt_mul T
rbc_elt.o rbc_elt_nth_root T
rbc_elt.o rbc_elt_print T
rbc_elt.o rbc_elt_reduce T
rbc_elt.o rbc_elt_set T
rbc_elt.o rbc_elt_set_coefficient T
rbc_elt.o rbc_elt_set_from_uint64 T
rbc_elt.o rbc_elt_set_mask1 T
rbc_elt.o rbc_elt_set_mask2 T
rbc_elt.o rbc_elt_set_one T
rbc_elt.o rbc_elt_set_random T
rbc_elt.o rbc_elt_set_random2 T
rbc_elt.o rbc_elt_set_zero T
rbc_elt.o rbc_elt_sqr T
rbc_elt.o rbc_elt_ur_mul T
rbc_elt.o rbc_elt_ur_print T
rbc_elt.o rbc_elt_ur_set_from_uint64 T
rbc_elt.o rbc_elt_ur_set_zero T
rbc_elt.o rbc_elt_ur_sqr T
rbc_elt.o rbc_field_init T
rbc_poly.o rbc_kar_fold T
rbc_poly.o rbc_kar_mul T
rbc_poly.o rbc_plain_mul T
rbc_poly.o rbc_poly_add T
rbc_poly.o rbc_poly_add2 T
rbc_poly.o rbc_poly_clear T
rbc_poly.o rbc_poly_div T
rbc_poly.o rbc_poly_from_string T
rbc_poly.o rbc_poly_init T
rbc_poly.o rbc_poly_inv T
rbc_poly.o rbc_poly_is_equal_to T
rbc_poly.o rbc_poly_mul T
rbc_poly.o rbc_poly_mul2 T
rbc_poly.o rbc_poly_mulmod_sparse T
rbc_poly.o rbc_poly_print T
rbc_poly.o rbc_poly_resize T
rbc_poly.o rbc_poly_set T
rbc_poly.o rbc_poly_set_random T
rbc_poly.o rbc_poly_set_random2 T
rbc_poly.o rbc_poly_set_random_from_support T
rbc_poly.o rbc_poly_set_random_full_rank T
rbc_poly.o rbc_poly_set_random_full_rank_with_one T
rbc_poly.o rbc_poly_set_random_pair_from_support T
rbc_poly.o rbc_poly_set_random_pair_from_support2 T
rbc_poly.o rbc_poly_set_zero T
rbc_poly.o rbc_poly_sparse_clear T
rbc_poly.o rbc_poly_sparse_init T
rbc_poly.o rbc_poly_sparse_print T
rbc_poly.o rbc_poly_to_string T
rbc_poly.o rbc_poly_update_degree T
rbc_qre.o rbc_qre_add T
rbc_qre.o rbc_qre_clear T
rbc_qre.o rbc_qre_clear_modulus T
rbc_qre.o rbc_qre_div T
rbc_qre.o rbc_qre_from_string T
rbc_qre.o rbc_qre_get_modulus T
rbc_qre.o rbc_qre_init T
rbc_qre.o rbc_qre_init_modulus T
rbc_qre.o rbc_qre_inv T
rbc_qre.o rbc_qre_is_equal_to T
rbc_qre.o rbc_qre_mul T
rbc_qre.o rbc_qre_print T
rbc_qre.o rbc_qre_set_random T
rbc_qre.o rbc_qre_set_random2 T
rbc_qre.o rbc_qre_set_random_from_support T
rbc_qre.o rbc_qre_set_random_full_rank T
rbc_qre.o rbc_qre_set_random_full_rank_with_one T
rbc_qre.o rbc_qre_set_random_pair_from_support T
rbc_qre.o rbc_qre_set_random_pair_from_support2 T
rbc_qre.o rbc_qre_set_zero T
rbc_qre.o rbc_qre_to_string T
rbc_vec.o rbc_vec_add T
rbc_vec.o rbc_vec_clear T
rbc_vec.o rbc_vec_echelonize T
rbc_vec.o rbc_vec_from_string T
rbc_vec.o rbc_vec_gauss T
rbc_vec.o rbc_vec_gauss_constant_time T
rbc_vec.o rbc_vec_gauss_other_matrices T
rbc_vec.o rbc_vec_get_rank T
rbc_vec.o rbc_vec_init T
rbc_vec.o rbc_vec_print T
rbc_vec.o rbc_vec_scalar_mul T
rbc_vec.o rbc_vec_set T
rbc_vec.o rbc_vec_set_random T
rbc_vec.o rbc_vec_set_random2 T
rbc_vec.o rbc_vec_set_random_from_support T
rbc_vec.o rbc_vec_set_random_full_rank T
rbc_vec.o rbc_vec_set_random_full_rank2 T
rbc_vec.o rbc_vec_set_random_full_rank_with_one T
rbc_vec.o rbc_vec_set_random_pair_from_support T
rbc_vec.o rbc_vec_set_random_pair_from_support2 T
rbc_vec.o rbc_vec_set_zero T
rbc_vec.o rbc_vec_to_string T
rbc_vspace.o rbc_vspace_clear T
rbc_vspace.o rbc_vspace_directsum T
rbc_vspace.o rbc_vspace_init T
rbc_vspace.o rbc_vspace_intersection T
rbc_vspace.o rbc_vspace_intersection_constant_time T
rbc_vspace.o rbc_vspace_print T
rbc_vspace.o rbc_vspace_product T
rbc_vspace.o rbc_vspace_set T
rbc_vspace.o rbc_vspace_set_random_full_rank T
rbc_vspace.o rbc_vspace_set_random_full_rank2 T
rbc_vspace.o rbc_vspace_set_random_full_rank_with_one T
rbc_vspace.o rbc_vspace_set_zero T
seedexpander.o seedexpander T
seedexpander.o seedexpander_init T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.o RBC_SQR_LOOKUP_TABLE C
lrpc.o RBC_SQR_LOOKUP_TABLE C
lrpc.o rbc_lrpc_RSR T
lrpc.o rbc_lrpc_RSR_constant_time T
parsing.o RBC_SQR_LOOKUP_TABLE C
parsing.o rolloI_public_key_from_string T
parsing.o rolloI_public_key_to_string T
parsing.o rolloI_rolloI_ciphertext_from_string T
parsing.o rolloI_rolloI_ciphertext_to_string T
parsing.o rolloI_secret_key_from_string T
parsing.o rolloI_secret_key_to_string T
rbc_elt.o RBC_SQR_LOOKUP_TABLE C
rbc_elt.o rbc_elt_add T
rbc_elt.o rbc_elt_get_coefficient T
rbc_elt.o rbc_elt_get_degree T
rbc_elt.o rbc_elt_inv T
rbc_elt.o rbc_elt_is_equal_to T
rbc_elt.o rbc_elt_is_greater_than T
rbc_elt.o rbc_elt_is_zero T
rbc_elt.o rbc_elt_mul T
rbc_elt.o rbc_elt_nth_root T
rbc_elt.o rbc_elt_print T
rbc_elt.o rbc_elt_reduce T
rbc_elt.o rbc_elt_set T
rbc_elt.o rbc_elt_set_coefficient T
rbc_elt.o rbc_elt_set_from_uint64 T
rbc_elt.o rbc_elt_set_mask1 T
rbc_elt.o rbc_elt_set_mask2 T
rbc_elt.o rbc_elt_set_one T
rbc_elt.o rbc_elt_set_random T
rbc_elt.o rbc_elt_set_random2 T
rbc_elt.o rbc_elt_set_zero T
rbc_elt.o rbc_elt_sqr T
rbc_elt.o rbc_elt_ur_mul T
rbc_elt.o rbc_elt_ur_print T
rbc_elt.o rbc_elt_ur_set_from_uint64 T
rbc_elt.o rbc_elt_ur_set_zero T
rbc_elt.o rbc_elt_ur_sqr T
rbc_elt.o rbc_field_init T
rbc_poly.o RBC_SQR_LOOKUP_TABLE C
rbc_poly.o rbc_kar_fold T
rbc_poly.o rbc_kar_mul T
rbc_poly.o rbc_plain_mul T
rbc_poly.o rbc_poly_add T
rbc_poly.o rbc_poly_add2 T
rbc_poly.o rbc_poly_clear T
rbc_poly.o rbc_poly_div T
rbc_poly.o rbc_poly_from_string T
rbc_poly.o rbc_poly_init T
rbc_poly.o rbc_poly_inv T
rbc_poly.o rbc_poly_is_equal_to T
rbc_poly.o rbc_poly_mul T
rbc_poly.o rbc_poly_mul2 T
rbc_poly.o rbc_poly_mulmod_sparse T
rbc_poly.o rbc_poly_print T
rbc_poly.o rbc_poly_resize T
rbc_poly.o rbc_poly_set T
rbc_poly.o rbc_poly_set_random T
rbc_poly.o rbc_poly_set_random2 T
rbc_poly.o rbc_poly_set_random_from_support T
rbc_poly.o rbc_poly_set_random_full_rank T
rbc_poly.o rbc_poly_set_random_full_rank_with_one T
rbc_poly.o rbc_poly_set_random_pair_from_support T
rbc_poly.o rbc_poly_set_random_pair_from_support2 T
rbc_poly.o rbc_poly_set_zero T
rbc_poly.o rbc_poly_sparse_clear T
rbc_poly.o rbc_poly_sparse_init T
rbc_poly.o rbc_poly_sparse_print T
rbc_poly.o rbc_poly_to_string T
rbc_poly.o rbc_poly_update_degree T
rbc_qre.o RBC_SQR_LOOKUP_TABLE C
rbc_qre.o rbc_qre_add T
rbc_qre.o rbc_qre_clear T
rbc_qre.o rbc_qre_clear_modulus T
rbc_qre.o rbc_qre_div T
rbc_qre.o rbc_qre_from_string T
rbc_qre.o rbc_qre_get_modulus T
rbc_qre.o rbc_qre_init T
rbc_qre.o rbc_qre_init_modulus T
rbc_qre.o rbc_qre_inv T
rbc_qre.o rbc_qre_is_equal_to T
rbc_qre.o rbc_qre_mul T
rbc_qre.o rbc_qre_print T
rbc_qre.o rbc_qre_set_random T
rbc_qre.o rbc_qre_set_random2 T
rbc_qre.o rbc_qre_set_random_from_support T
rbc_qre.o rbc_qre_set_random_full_rank T
rbc_qre.o rbc_qre_set_random_full_rank_with_one T
rbc_qre.o rbc_qre_set_random_pair_from_support T
rbc_qre.o rbc_qre_set_random_pair_from_support2 T
rbc_qre.o rbc_qre_set_zero T
rbc_qre.o rbc_qre_to_string T
rbc_vec.o RBC_SQR_LOOKUP_TABLE C
rbc_vec.o rbc_vec_add T
rbc_vec.o rbc_vec_clear T
rbc_vec.o rbc_vec_echelonize T
rbc_vec.o rbc_vec_from_string T
rbc_vec.o rbc_vec_gauss T
rbc_vec.o rbc_vec_gauss_constant_time T
rbc_vec.o rbc_vec_gauss_other_matrices T
rbc_vec.o rbc_vec_get_rank T
rbc_vec.o rbc_vec_init T
rbc_vec.o rbc_vec_print T
rbc_vec.o rbc_vec_scalar_mul T
rbc_vec.o rbc_vec_set T
rbc_vec.o rbc_vec_set_random T
rbc_vec.o rbc_vec_set_random2 T
rbc_vec.o rbc_vec_set_random_from_support T
rbc_vec.o rbc_vec_set_random_full_rank T
rbc_vec.o rbc_vec_set_random_full_rank2 T
rbc_vec.o rbc_vec_set_random_full_rank_with_one T
rbc_vec.o rbc_vec_set_random_pair_from_support T
rbc_vec.o rbc_vec_set_random_pair_from_support2 T
rbc_vec.o rbc_vec_set_zero T
rbc_vec.o rbc_vec_to_string T
rbc_vspace.o RBC_SQR_LOOKUP_TABLE C
rbc_vspace.o rbc_vspace_clear T
rbc_vspace.o rbc_vspace_directsum T
rbc_vspace.o rbc_vspace_init T
rbc_vspace.o rbc_vspace_intersection T
rbc_vspace.o rbc_vspace_intersection_constant_time T
rbc_vspace.o rbc_vspace_print T
rbc_vspace.o rbc_vspace_product T
rbc_vspace.o rbc_vspace_set T
rbc_vspace.o rbc_vspace_set_random_full_rank T
rbc_vspace.o rbc_vspace_set_random_full_rank2 T
rbc_vspace.o rbc_vspace_set_random_full_rank_with_one T
rbc_vspace.o rbc_vspace_set_zero T
seedexpander.o seedexpander T
seedexpander.o seedexpander_init T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref