Implementation notes: amd64, h9trinity, crypto_kem/rolloi192

Computer: h9trinity
Architecture: amd64
CPU ID: AuthenticAMD-00610f01-178bfbff
SUPERCOP version: 20200618
Operation: crypto_kem
Primitive: rolloi192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
208376425646 0 2444920 880 1576avxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
208409725646 0 2444920 880 1576avxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
213306523739 0 2442308 888 1640avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020060320200603
216786834536 0 2455380 888 1640avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020060320200603
231612923103 0 2441324 888 1640avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020060320200603
233847219855 0 2436420 864 1576avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
236404727598 0 2448456 880 1576avxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
374085236880 0 2857724 888 3712refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020060320200603
378108524171 0 2842732 888 3712refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020060320200603
387932329526 0 2549352 880 3664refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
401200126502 0 2545840 880 3664refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
401263026502 0 2545840 880 3664refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
429520928990 0 2549912 880 3664refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603
434926823646 0 2841868 888 3712refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020060320200603
455982520870 0 2837980 880 3680refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020060320200603
826855220240 0 2536868 864 3664refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020060320200603

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

Compiler output

Implementation: avx
Security model: unknown
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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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 avx

Namespace violations

Implementation: avx
Security model: unknown
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: 7, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
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: 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 ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -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