Implementation notes: amd64, colossus5, crypto_sign/rainbow3ccyclicc683248

Computer: colossus5
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20210125
Operation: crypto_sign
Primitive: rainbow3ccyclicc683248
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
21023560194327 8 0250503 912 1688T:ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2255596099031 8 0176743 912 1688T:ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2269818098469 8 0176751 912 1688T:ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
22723160176137 0 0267367 904 1688T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2286868054880 8 0139079 904 1656T:ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
23243760226821 0 0317879 904 1688T:amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2405822094735 0 0184071 904 1688T:amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2519396091604 0 0181223 904 1688T:amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2664664057889 0 0147535 904 1688T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2757202033102 0 0121951 896 1656T:amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
2829076061194 0 0150487 904 1688T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
3078416029468 0 0118191 896 1656T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blas_matrix_avx2.c: blas_matrix_avx2.c: In function '_gf256mat_gauss_elim_avx2_32x':
blas_matrix_avx2.c: blas_matrix_avx2.c:479:19: warning: implicit declaration of function '_mm256_setr_m128i'; did you mean '_mm256_setr_epi8'? [-Wimplicit-function-declaration]
blas_matrix_avx2.c: __m256i mask = _mm256_setr_m128i( add_mask , add_mask );
blas_matrix_avx2.c: ^~~~~~~~~~~~~~~~~
blas_matrix_avx2.c: _mm256_setr_epi8
blas_matrix_avx2.c: blas_matrix_avx2.c:479:19: error: incompatible types when initializing type '__m256i {aka __vector(4) long long int}' using type 'int'
blas_matrix_avx2.c: blas_matrix_avx2.c:495:17: error: incompatible types when initializing type '__m256i {aka __vector(4) long long int}' using type 'int'
blas_matrix_avx2.c: __m256i pi2 = _mm256_setr_m128i( pi1 , pi1 );
blas_matrix_avx2.c: ^~~~~~~~~~~~~~~~~

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

Namespace violations

Implementation: T:amd64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blas_comm.o gf256v_is_zero T
blas_comm.o gf256v_set_zero T
blas_matrix.o gf16mat_inv_32x32 T
blas_matrix.o gf16mat_prod T
blas_matrix.o gf16mat_solve_linear_eq_32x32 T
blas_matrix.o gf256mat_inv_32x32 T
blas_matrix.o gf256mat_inv_36x36 T
blas_matrix.o gf256mat_prod T
blas_matrix.o gf256mat_solve_linear_eq_48x48 T
blas_matrix.o gf256mat_solve_linear_eq_64x64 T
blas_matrix_ref.o gf16mat_inv_32x32_ref T
blas_matrix_ref.o gf16mat_prod_ref T
blas_matrix_ref.o gf16mat_solve_linear_eq_32x32_ref T
blas_matrix_ref.o gf256mat_inv_32x32_ref T
blas_matrix_ref.o gf256mat_inv_36x36_ref T
blas_matrix_ref.o gf256mat_prod_ref T
blas_matrix_ref.o gf256mat_solve_linear_eq_48x48_ref T
blas_matrix_ref.o gf256mat_solve_linear_eq_64x64_ref T
parallel_matrix_op.o UpperTrianglize T
parallel_matrix_op.o batch_2trimat_madd_gf16 T
parallel_matrix_op.o batch_2trimat_madd_gf256 T
parallel_matrix_op.o batch_bmatTr_madd_gf16 T
parallel_matrix_op.o batch_bmatTr_madd_gf256 T
parallel_matrix_op.o batch_matTr_madd_gf16 T
parallel_matrix_op.o batch_matTr_madd_gf256 T
parallel_matrix_op.o batch_mat_madd_gf16 T
parallel_matrix_op.o batch_mat_madd_gf256 T
parallel_matrix_op.o batch_quad_recmat_eval_gf16 T
parallel_matrix_op.o batch_quad_recmat_eval_gf256 T
parallel_matrix_op.o batch_quad_trimat_eval_gf16 T
parallel_matrix_op.o batch_quad_trimat_eval_gf256 T
parallel_matrix_op.o batch_trimatTr_madd_gf16 T
parallel_matrix_op.o batch_trimatTr_madd_gf256 T
parallel_matrix_op.o batch_trimat_madd_gf16 T
parallel_matrix_op.o batch_trimat_madd_gf256 T
rainbow.o rainbow_sign T
rainbow.o rainbow_sign_cyclic T
rainbow.o rainbow_verify T
rainbow.o rainbow_verify_cyclic T
rainbow_keypair.o cpk_to_pk T
rainbow_keypair.o generate_compact_keypair_cyclic T
rainbow_keypair.o generate_keypair T
rainbow_keypair.o generate_keypair_cyclic T
rainbow_keypair.o generate_secretkey T
rainbow_keypair.o generate_secretkey_cyclic T
rainbow_keypair.o sk_to_pk T
rainbow_keypair_computation.o calculate_Q_from_F T
rainbow_keypair_computation.o calculate_Q_from_F_cyclic T
rainbow_keypair_computation.o crypto_core T
rainbow_keypair_computation.o extcpk_to_pk T
rainbow_publicmap.o rainbow_publicmap T
rainbow_publicmap.o rainbow_publicmap_cpk T
rng.o AES256_CTR_DRBG_Update T
rng.o AES256_ECB T
rng.o DRBG_ctx C
rng.o handleErrors T
rng.o randombytes_init T
rng.o randombytes_init_with_state T
rng.o randombytes_with_state T
rng.o seedexpander T
rng.o seedexpander_init T
utils.o byte_fdump T
utils.o byte_fget T
utils.o byte_from_binfile T
utils.o byte_from_file T
utils.o byte_read_file T
utils_hash.o hash_msg T
utils_prng.o prng_gen T
utils_prng.o prng_set T

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:amd64
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

Namespace violations

Implementation: T:ssse3
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blas_comm.o gf256v_is_zero T
blas_comm.o gf256v_set_zero T
blas_matrix.o gf16mat_inv_32x32 T
blas_matrix.o gf16mat_prod T
blas_matrix.o gf16mat_solve_linear_eq_32x32 T
blas_matrix.o gf256mat_inv_32x32 T
blas_matrix.o gf256mat_inv_36x36 T
blas_matrix.o gf256mat_prod T
blas_matrix.o gf256mat_solve_linear_eq_48x48 T
blas_matrix.o gf256mat_solve_linear_eq_64x64 T
blas_matrix_ref.o gf16mat_inv_32x32_ref T
blas_matrix_ref.o gf16mat_prod_ref T
blas_matrix_ref.o gf16mat_solve_linear_eq_32x32_ref T
blas_matrix_ref.o gf256mat_inv_32x32_ref T
blas_matrix_ref.o gf256mat_inv_36x36_ref T
blas_matrix_ref.o gf256mat_prod_ref T
blas_matrix_ref.o gf256mat_solve_linear_eq_48x48_ref T
blas_matrix_ref.o gf256mat_solve_linear_eq_64x64_ref T
blas_matrix_sse.o gf16mat_inv_32x32_sse T
blas_matrix_sse.o gf16mat_prod_16_sse T
blas_matrix_sse.o gf16mat_prod_add_multab_sse T
blas_matrix_sse.o gf16mat_prod_multab_sse T
blas_matrix_sse.o gf16mat_prod_sse T
blas_matrix_sse.o gf16mat_solve_linear_eq_32x32_sse T
blas_matrix_sse.o gf256mat_inv_32x32_sse T
blas_matrix_sse.o gf256mat_inv_36x36_sse T
blas_matrix_sse.o gf256mat_prod_add_multab_sse T
blas_matrix_sse.o gf256mat_prod_add_sse T
blas_matrix_sse.o gf256mat_prod_multab_sse T
blas_matrix_sse.o gf256mat_prod_sse T
blas_matrix_sse.o gf256mat_solve_linear_eq_48x48_sse T
blas_matrix_sse.o gf256mat_solve_linear_eq_64x64_sse T
gf16.o __gf16_exp R
gf16.o __gf16_inv R
gf16.o __gf16_log R
gf16.o __gf16_mul D
gf16.o __gf16_mulx2 R
gf16.o __gf16_squ R
gf16.o __gf16_squ_sl4 R
gf16.o __gf16_squ_x8 R
gf16.o __gf256_mul R
gf16.o __mask_0x55 R
gf16.o __mask_16 R
gf16.o __mask_low R
parallel_matrix_op.o UpperTrianglize T
parallel_matrix_op.o batch_2trimat_madd_gf16 T
parallel_matrix_op.o batch_2trimat_madd_gf256 T
parallel_matrix_op.o batch_bmatTr_madd_gf16 T
parallel_matrix_op.o batch_bmatTr_madd_gf256 T
parallel_matrix_op.o batch_matTr_madd_gf16 T
parallel_matrix_op.o batch_matTr_madd_gf256 T
parallel_matrix_op.o batch_mat_madd_gf16 T
parallel_matrix_op.o batch_mat_madd_gf256 T
parallel_matrix_op.o batch_quad_recmat_eval_gf16 T
parallel_matrix_op.o batch_quad_recmat_eval_gf256 T
parallel_matrix_op.o batch_quad_trimat_eval_gf16 T
parallel_matrix_op.o batch_quad_trimat_eval_gf256 T
parallel_matrix_op.o batch_trimatTr_madd_gf16 T
parallel_matrix_op.o batch_trimatTr_madd_gf256 T
parallel_matrix_op.o batch_trimat_madd_gf16 T
parallel_matrix_op.o batch_trimat_madd_gf256 T
parallel_matrix_op_sse.o batch_2trimat_madd_multab_gf16_sse T
parallel_matrix_op_sse.o batch_2trimat_madd_multab_gf256_sse T
parallel_matrix_op_sse.o batch_bmatTr_madd_multab_gf16_sse T
parallel_matrix_op_sse.o batch_bmatTr_madd_multab_gf256_sse T
parallel_matrix_op_sse.o batch_matTr_madd_multab_gf16_sse T
parallel_matrix_op_sse.o batch_matTr_madd_multab_gf256_sse T
parallel_matrix_op_sse.o batch_mat_madd_multab_gf16_sse T
parallel_matrix_op_sse.o batch_mat_madd_multab_gf256_sse T
parallel_matrix_op_sse.o batch_quad_trimat_eval_multab_gf16_sse T
parallel_matrix_op_sse.o batch_quad_trimat_eval_multab_gf256_sse T
parallel_matrix_op_sse.o batch_trimatTr_madd_multab_gf16_sse T
parallel_matrix_op_sse.o batch_trimatTr_madd_multab_gf256_sse T
parallel_matrix_op_sse.o batch_trimat_madd_multab_gf16_sse T
parallel_matrix_op_sse.o batch_trimat_madd_multab_gf256_sse T
rainbow_keypair.o cpk_to_pk T
rainbow_keypair.o generate_compact_keypair_cyclic T
rainbow_keypair.o generate_keypair T
rainbow_keypair.o generate_keypair_cyclic T
rainbow_keypair.o generate_secretkey T
rainbow_keypair.o generate_secretkey_cyclic T
rainbow_keypair.o sk_to_pk T
rainbow_keypair_computation.o calculate_Q_from_F T
rainbow_keypair_computation.o calculate_Q_from_F_cyclic T
rainbow_keypair_computation.o crypto_core T
rainbow_keypair_computation.o extcpk_to_pk T
rainbow_keypair_computation_simd.o calculate_F_from_Q_simd T
rainbow_keypair_computation_simd.o calculate_Q_from_F_cyclic_simd T
rainbow_keypair_computation_simd.o calculate_Q_from_F_simd T
rainbow_publicmap.o rainbow_publicmap T
rainbow_publicmap.o rainbow_publicmap_cpk T
rainbow_simd.o rainbow_sign T
rainbow_simd.o rainbow_sign_cyclic T
rainbow_simd.o rainbow_verify T
rainbow_simd.o rainbow_verify_cyclic T
rng.o AES256_CTR_DRBG_Update T
rng.o AES256_ECB T
rng.o DRBG_ctx C
rng.o handleErrors T
rng.o randombytes_init T
rng.o randombytes_init_with_state T
rng.o randombytes_with_state T
rng.o seedexpander T
rng.o seedexpander_init T
utils.o byte_fdump T
utils.o byte_fget T
utils.o byte_from_binfile T
utils.o byte_from_file T
utils.o byte_read_file T
utils_hash.o hash_msg T
utils_prng.o prng_gen T
utils_prng.o prng_set T

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