Implementation notes: amd64, gcc68, crypto_kem/rolloiii192

Computer: gcc68
Architecture: amd64
CPU ID: AuthenticAMD-00800f82-178bfbff
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: rolloiii192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
189004828245 0 450002 888 1656avxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
189136026629 0 448258 888 1656avxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
189584026629 0 448258 888 1656avxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
193945621157 0 439786 872 1656avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
194838431023 0 452353 896 1720avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
196112023484 0 443353 896 1720avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
207104021851 0 441217 896 1720avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
215366418659 0 436993 888 1688avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
240889627660 0 449370 888 3720refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
241036827660 0 449370 888 3720refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
242585629276 0 451114 888 3720refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
242681632511 0 453865 896 3800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
252793629463 0 451354 888 3720refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
260214424180 0 444025 896 3800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
286099222462 0 441801 896 3800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
300457619191 0 437513 888 3768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
442947221790 0 440458 872 3720refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
ffi_elt.c: ffi_elt.c:402:17: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
ffi_elt.c: __m128i c1 = AVX_CLMUL(a, b, 0x00);
ffi_elt.c: ^
ffi_elt.c: ./ffi.h:66:23: note: expanded from macro 'AVX_CLMUL'
ffi_elt.c: #define AVX_CLMUL _mm_clmulepi64_si128
ffi_elt.c: ^
ffi_elt.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/__wmmintrin_pclmul.h:59:13: note: expanded from macro '_mm_clmulepi64_si128'
ffi_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
ffi_elt.c: ^
ffi_elt.c: ffi_elt.c:403:17: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
ffi_elt.c: __m128i c2 = AVX_CLMUL(a, b, 0x01);
ffi_elt.c: ^
ffi_elt.c: ./ffi.h:66:23: note: expanded from macro 'AVX_CLMUL'
ffi_elt.c: #define AVX_CLMUL _mm_clmulepi64_si128
ffi_elt.c: ^
ffi_elt.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/__wmmintrin_pclmul.h:59:13: note: expanded from macro '_mm_clmulepi64_si128'
ffi_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
ffi_elt.c: ^
ffi_elt.c: ffi_elt.c:404:17: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
ffi_elt.c: __m128i c3 = AVX_CLMUL(a, b, 0x10);
ffi_elt.c: ^
ffi_elt.c: ./ffi.h:66:23: note: expanded from macro 'AVX_CLMUL'
ffi_elt.c: #define AVX_CLMUL _mm_clmulepi64_si128
ffi_elt.c: ^
ffi_elt.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/__wmmintrin_pclmul.h:59:13: note: expanded from macro '_mm_clmulepi64_si128'
ffi_elt.c: ...

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
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: 8, 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
gcc -march=native -mtune=native -Os -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
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: 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