Implementation notes: amd64, intelnuci8, crypto_kem/rolloi192

Computer: intelnuci8
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: rolloi192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
214908019180 0 439132 864 1656avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
218178730205 0 455052 888 1720avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
222474624216 0 447864 880 1656avxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
223880024216 0 447864 880 1656avxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
225476323007 0 444516 888 1720avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
225989425896 0 449544 880 1656avxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
233614521937 0 443108 888 1720avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
253260126767 0 450480 880 3720refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
260692125087 0 448800 880 3720refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
263920525087 0 448800 880 3720refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
264310326752 0 449632 880 3720refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
265759523599 0 445092 888 3800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
266298733493 0 458356 888 3800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
278297122515 0 443684 888 3800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
290353819593 0 439796 880 3768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
399872819813 0 439772 864 3720refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221

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
ffi_elt.c: ffi_elt.c:398: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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:399: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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:400: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-6.0/lib/clang/6.0.0/include/__wmmintrin_pclmul.h:54: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 rolloI_ciphertext_from_string T
parsing.o rolloI_ciphertext_to_string T
parsing.o rolloI_public_key_from_string T
parsing.o rolloI_public_key_to_string T
parsing.o rolloI_secret_key_from_string T
parsing.o rolloI_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: 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
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 rolloI_ciphertext_from_string T
parsing.o rolloI_ciphertext_to_string T
parsing.o rolloI_public_key_from_string T
parsing.o rolloI_public_key_to_string T
parsing.o rolloI_secret_key_from_string T
parsing.o rolloI_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