Implementation notes: amd64, intelnuci8, crypto_kem/rolloii256

Computer: intelnuci8
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: rolloii256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
545442927786 0 451424 880 1656avxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
548819420473 0 440436 864 1656avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
555690126106 0 449744 880 1656avxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
559315426106 0 449744 880 1656avxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
580433132562 0 457532 888 1720avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
580474023987 0 445180 888 1720avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
595678224723 0 446284 888 1720avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
785703527402 0 451112 880 3720refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
797240127402 0 451112 880 3720refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
803203029082 0 452792 880 3720refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
838255129243 0 452096 880 3720refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
907844836250 0 461228 888 3800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
1127989525435 0 446972 888 3800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
1128835221171 0 441116 864 3720refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011720191221
1160165920920 0 441116 880 3768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221
1163476424734 0 445932 888 3800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011720191221

Test failure

Implementation: crypto_kem/rolloii256/avx
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: crypto_kem/rolloii256/avx
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-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: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-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: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-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: crypto_kem/rolloii256/ref
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 rolloII_ciphertext_from_string T
parsing.o rolloII_ciphertext_to_string T
parsing.o rolloII_public_key_from_string T
parsing.o rolloII_public_key_to_string T
parsing.o rolloII_secret_key_from_string T
parsing.o rolloII_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

Namespace violations

Implementation: crypto_kem/rolloii256/avx
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 rolloII_ciphertext_from_string T
parsing.o rolloII_ciphertext_to_string T
parsing.o rolloII_public_key_from_string T
parsing.o rolloII_public_key_to_string T
parsing.o rolloII_secret_key_from_string T
parsing.o rolloII_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